Supongamos que si tenemos datos como estos, ¿cómo podemos usar notaciones de puntos o cualquier cosa para actualizar la matriz (datos2) dentro del objeto datos1 que está dentro de la matriz (datos)?
data = [ data1: { a:"1", b:"2" } ] // another array(data2 - below) I am having I have to push that array inside data1 as an object data2 = [ { c:"3" }, { d:"4" } ]La respuesta que quiero de la siguiente manera:
data = [ data1: { a:"1", b:"2" }, data2 = [ { c:"3" }, { d:"4" } ] ]Realmente no entendí tu pregunta, pero creo que esto es lo que quieres.
data = { data1: { a: "1", b: "2" } } data2 = [ { c: "3" }, { a: "3" }, { d: "4" } ] for (var key in data2) { for (var key2 in data2[key]) { if(data.data1[key2] != null){ console.log("data.data1 with they key" + key2 + " could have been replaced/updated with " + data2[key][key2]); } console.log("key " + key2 + " has value " + data2[key][key2]); } }Resultado:
la clave c tiene el valor 3 data.data1 con la clavea podría haber sido reemplazada/actualizada con 3 la clave a tiene el valor 3 la clave d tiene el valor 4
Editar:
¿Por qué simplemente no haces
data["data2"] = data2?var array = []; array['data1'] = { 'name': 'a' } var array2 = [{ c: 3 }, { d: 4 }]; array['data2'] = array2; console.log(array)Producción:
[ datos1: { nombre: 'a' }, datos2: [ { c: 3 }, { d: 4 } ] ]
Me probé y obtuve la solución. Si tenemos que hacer otro campo en un objeto, simplemente dale un nombre como este
data.dataTwoesto creará otro campo con un nuevo nombre y ahora, si queremos transferir o almacenar una matriz en esto, simplemente podemos hacer esto
data.dataTwo = data2Esto asignará esa matriz con nombre data2 en un nuevo campo que se da como dataTwo