Con estos objetos
let myObjectA = {"fruits": {"item1":1, "item2":1}, "vegetables": {"item3":1, "item4":1} }, myObjectB = {"fruits": {"item5":1, "item6":1} };Necesito hacer lo mismo para bucle para obtener las claves, pero cuando hago lo mismo para bucle
for(var i in myObjectA){ print(myObjectA[i]); } for(var j in myObjectB){ print(myObjectB[j]); } En el primer bucle obtengo los dos elementos, pero en el segundo no estoy undefined
¿Cómo obtengo el resultado de las fruits , incluso cuando es solo una clave en el objeto? Necesito un bucle for dinámico porque no sé de antemano si obtendré uno o dos objetos con clave
Es un error tipográfico como se mencionó, pero como referencia, también puede obtener claves de objeto con... espere... Object.keys :)
let myObjectA = { "fruits": { "item1": 1, "item2": 1 }, "vegetables": { "item3": 1, "item4": 1 } }, myObjectB = { "fruits": { "item5": 1, "item6": 1 } }; let keys = Object.keys(myObjectA); console.log(keys); keys.forEach(k => { let item = myObjectA[k]; let subkeys = Object.keys(item); console.log(`subkeys of ${k}`, subkeys) })Estás pasando i en myObjectB[i]
for(var i in myObjectA){ print(myObjectA[i]); } for(var j in myObjectB){ print(myObjectB[j]); // correction pass j not i }