Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

124
Vistas
¿Puede alguien explicarme esto para/en bucle?
/* Write each function according to the instructions. When a function's parameters reference `cart`, it references an object that looks like the one that follows. { "Gold Round Sunglasses": { quantity: 1, priceInCents: 1000 }, "Pink Bucket Hat": { quantity: 2, priceInCents: 1260 } } */ function calculateCartTotal(cart) { let total = 0; for (const item in cart){ let quantity = Object.values(cart[item])[0]; let price = Object.values(cart[item])[1]; total += price * quantity; } return total; } function printCartInventory(cart) { let inventory = ""; for (const item in cart){ inventory += `${Object.values(cart[item])[0]}x${item}\n`; } return inventory; } module.exports = { calculateCartTotal, printCartInventory, };

La parte que me confunde es la función calcularCarritoTotal. Lo que me confunde es ¿cómo sabe este bucle que debe tomar priceInCents? por ejemplo, si fuera a agregar otro valor en el objeto llamado "peso: 24" asumiendo que son 24 gramos, ¿cómo el valor del objeto omite la cantidad y el peso y solo toma precioInCents? ¡Espero que tenga sentido sobre cómo estoy confundido y que alguien tenga una explicación para mí!

about 4 years ago · Santiago Gelvez
2 Respuestas
Responde la pregunta

0

Si intenta ejecutar el siguiente programa, será más fácil para usted visualizar todo.

Lo que sucede es que el elemento es solo el índice del elemento y para un objeto podemos usar el nombre de la clave para acceder a su valor o su índice.

Puede leer este documento para comprender qué Object.values() .

 function calculateCartTotal(cart) { let total = 0; for (const item in cart) { console.log(item) let quantity = Object.values(cart[item])[0]; let price = Object.values(cart[item])[1]; total += price * quantity; } return total; } var cart = [ { quantity: 2, price: 5, weight: 24 }, { quantity: 3, price: 10, weight: 90 }, { quantity: 7, price: 20, weight: 45 }, { quantity: 1, price: 100, weight: 67 } ] console.log(calculateCartTotal(cart))

PRODUCCIÓN:

 0 1 2 3 280

Programa 2 para demostrar lo que está pasando

 function calculateCartTotal(cart) { console.log(Object.values(cart[2])[1]) console.log(cart[2]['price']) console.log(cart[2].price) } var cart = [ { quantity: 2, price: 5, weight: 24 }, { quantity: 3, price: 10, weight: 90 }, { quantity: 7, price: 20, weight: 45 }, { quantity: 1, price: 100, weight: 67 } ] calculateCartTotal(cart)

PRODUCCIÓN:

 20 20 20
about 4 years ago · Santiago Gelvez Denunciar

0

Soy Deepak, 🙂

Puedo explicar (demostración del programa 2). Mira amigo, podrás ver el primer archivo console.log, es decir, console.log(Object.values(cart[2])[1])... Entonces, objeto significa todo el carrito y .values significa el único números que contenía un objeto en particular. Ahora, vea el resultado, es decir, 20. Entonces, ¿cómo llegaron estos 20?... Ahora, vea el archivo console.log que he escrito antes. En los corchetes de .value carrito de [2] (significa que 2 es la posición de ese carrito, por eso está escrito como carrito [2], es decir, dentro del objeto de la segunda posición del carrito y después de carrito [2] este número está allí [1], significa dentro del objeto de la segunda posición, es decir,

OBJETO a continuación: - posición de un carrito de objetos var = [

 quantity: 2, 0 position price: 5, weight: 24 }, { quantity: 3, 1 position price: 10, weight: 90 }, { quantity: 7, 2 position price: 20, weight: 45 } , { quantity: 1, 3 position price: 100, weight: 67 }

]

console.log(calculateCartTotal(carrito))

Ahora, haga coincidir el archivo console.log.
dice que console.log(OBJECT.values(cart[2])[1]);

En el carrito, vea el objeto de la segunda posición, es decir,

{ cantidad: 7, precio de 2 posiciones: 20, peso: 45 }

Entonces, cart[2] significa todo el objeto que verás arriba. [1] significa que dentro del objeto cuenta la posición desde 0 en adelante. Entonces, en el

 values

0 cantidad de posición, 7,
Precio de 1 posición, 20, peso de 2 posiciones. 45.

En la posición [1] precio: 20.

Por lo tanto, cart[2] significa {cantidad: 7, precio de 2 posiciones: 20, peso: 45}

Y, [1] significa precio: 20.

Entonces, tu respuesta es 20.

Nota: los números que están dentro de los corchetes darán la posición de un objeto o dentro de un objeto.

about 4 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda