Obtengo un objeto de una función después de un proceso como este:
const mainObj = await processObj()la estructura del objeto como:
{ 'Test 1': { Nested1: 'value 1', Nested2: 'value 2', Nested3: 'value 3', Nested4: 'value 4', Nested5: 'value 5' }, 'Test 2': { Nested1: 'value 1', Nested2: 'value 2', Nested3: 'value 3', Nested4: 'value 4', Nested5: 'value 5' }, 'Test 3': { Nested1: 'value 1', Nested2: 'value 2', Nested3: 'value 3', Nested4: 'value 4', Nested5: 'value 5' } }'Test X' y 'Nested X' son nombres de propiedades dinámicas, quiero hacer un bucle en el objeto e intentar actualizar cada 'valor X' de cada objeto anidado.
Puedo acceder a los valores pero no puedo actualizar, lo siguiente muestra el resultado:
for (const x in mainObj) { for (const y in mainObj[x]) { const count = await dbquery(x,y) console.log(`${x} ${y} ${count}`) } }Pero cuando trato de actualizar, no funciona:
for (const x in mainObj) { for (const y in mainObj[x]) { const count = await dbquery(x,y) mainObj[x][y] = count } }Cuando hago console.log(mainObj), obtengo los resultados de la última iteración en todos los objetos anidados.
Creo que es un problema de referencia y necesito usar Object.Assign() pero no tengo idea de cómo