Tengo un objeto que ya tiene 3 objetos dentro. Quiero agregar dinámicamente objetos a uno de esos objetos dentro del objeto original y luego agregar pares clave/valor a estos objetos agregados dinámicamente.
const result = { AV: {}, Furnaces: {}, "Production Lines": {} };Entonces, este es el objeto existente con los objetos dentro. Agrego pares clave/valor dinámicamente a "AV" fácilmente porque es simplemente
result[AV]["New key"] = value;Pero si trato de ejecutar un ciclo de los nombres de los hornos y agregar pares clave/valor al nuevo objeto con el nombre de ese horno, así:
for (let i = 0; i < furnaces.length; i++) { let furnaceName = furnace[i]; result["Furnaces"][furnaceName]["Raw Material"] = 5; };arroja un error
Cannot set property "Raw Material" of undefined to "270000"simplemente puede usar Object.assign
Suponiendo que tiene variedad de hornos. Prueba esto,
for (let i = 0; i < furnaces.length; i++) { let furnaceName = furnaces[i]; const rawMaterial = { 'RawMaterial': 5 } Object.assign(result.Furnaces, {[`${furnaceName}`]: rawMaterial }) };