He creado un objeto como este:
var obj = { name: $('#name').val(), age: $('age').val() };Y tengo un objeto de matriz como este
var arrObj = [ {level: 10, status: 1}, {level: 8, status: 0} ];Quiero enviar mi matriz a un objeto con una clave definida y el resultado esperado:
{ name: 'Name A', age: 30, level: [ {level: 10, status: 1}, {level: 8, status: 0} ] }Pero no sé cómo empujar mi matriz para que objete con una clave. Lo intenté:
var obj = { name: $('#name').val(), age: $('age').val(), level: [] }; obj['level'].push(arrObj);Pero haré que mi elemento de nivel tenga 1 nivel de matriz más como este:
{ name: 'Name A', age: 30, level:[ [ {level: 10, status: 1}, {level: 8, status: 0} ] ] }Cómo puedo obtener los resultados que esperaba.
¡Muchos gracias!
Una matriz se puede asignar directamente a un objeto usando = (operador de asignación)
Puede intentar asignar una matriz de objetos a la tecla de nivel siguiendo.
var obj = { name: 'Name A', age: 30, level: [] }; var arrObj = [ {level: 10, status: 1}, {level: 8, status: 0} ]; obj.level = arrObj //arrObj's value will be overwritten to level key and if such key doesn't exist then it'll be created! console.log(obj)puedes probar con el operador de propagación
obj['level'].push(...arrObj);solo puedes hacer esto
obj.level = arrObj;
La propiedad de level dentro de obj se creará sobre la marcha si dicha propiedad no existe.