Hola, y justo lo que sugiere la pregunta, necesito ayuda con mi código para incrementar a través de un objeto en un objeto para poder usarlo para una función de "tu carrito" en un sitio web de comercio electrónico para mi proyecto. Aquí está el código:
var products = { product1: { name: "Balenciaga Black Shoes", quantity: 2, price: 50, size: "L", shipping: 20 }, product2: { name: "Gucci Pink Bag", quantity: 1, price: 70, size: "Big", shipping: 20 } }; function myFunc() { for (const key in products) { for (const key2 in key) { console.log(`${key2}: ${key[key2]}`); } } } myFunc()Aquí está iterando sobre el nombre de la clave en sí , que es solo una cadena:
for (const key2 in key) {En su lugar, itere sobre la propiedad nombrada por esa clave:
for (const key2 in products[key]) {Del mismo modo, haga referencia a esa propiedad al generar:
console.log(`${key2}: ${products[key][key2]}`);Es probable que también desee generar la jerarquía de propiedades para saber qué objeto tenía qué valor de propiedad:
console.log(`${key}:${key2}: ${products[key][key2]}`);Por ejemplo:
var products = { product1: { name: "Balenciaga Black Shoes", quantity: 2, price: 50, size: "L", shipping: 20 }, product2: { name: "Gucci Pink Bag", quantity: 1, price: 70, size: "Big", shipping: 20 } }; function myFunc() { for (const key in products) { for (const key2 in products[key]) { console.log(`${key}:${key2}: ${products[key][key2]}`); } } } myFunc();¿Por qué no almacena sus productos en una matriz en lugar de un objeto? De todos modos, debe recorrer aquí todos los valores de su objeto de products y luego recorrer todas las claves de este producto:
var products = { product1: { name: 'Balenciaga Black Shoes', quantity: 2, price: 50, size: 'L', shipping: 20, }, product2: { name: 'Gucci Pink Bag', quantity: 1, price: 70, size: 'Big', shipping: 20, }, }; for (const product of Object.values(products)) { for (const key in product) { console.log(`${key}: ${product[key]}`); } }