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

92
Vistas
Iterar a través de una matriz de objetos y calcular un solo valor de propiedad

Así que digamos que tenemos esta matriz:

 const db = [ {name: 'Coffe', price: '10'}, {name: 'Stackoverflow Stickers', price: '7.5'}, {name: 'Nike Air Force', price: '100'}, // more objects in similar format (long list) ]

Entonces, lo que quiero hacer es iterar a través de la matriz y calcular todos los precios de cada valor de objeto, en este caso, el precio.

Lo que probé, pero de alguna manera no funciona funciona:

 let total = 0; data.map((d) => (d.total += total)) setTotal(totalValues)
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Puede usar la función Array.reduce :

 const total = db.reduce( (total, curr) => total + parseFloat(curr.price), 0 ); setTotal(total);

Lea más: https://www.w3schools.com/jsref/jsref_reduce.asp

about 4 years ago · Juan Pablo Isaza Denunciar

0

puedes usar array reduce para esto

no te olvides de parseFloat tu cadena en datos db

 const db = [ {name: 'Coffe', price: '10'}, {name: 'Stackoverflow Stickers', price: '7.5'}, {name: 'Nike Air Force', price: '100'}, ] let total = db.reduce((previous, current) => (previous + parseFloat(current.price)), 0) console.log(total)

about 4 years ago · Juan Pablo Isaza Denunciar

0

Pruebe los siguientes cambios para solucionar el problema. Función de mapa interior en lugar de (d) => (d.total += total) use (d) => (total+= Number(d.price)) .

 const data = [ {name: 'Coffe', price: '10'}, {name: 'Stackoverflow Stickers', price: '7.5'}, {name: 'Nike Air Force', price: '100'}, // more objects in similar format (long list) ] let total = 0; data.map((d) => (total+= Number(d.price))) console.log(total)

Nota: En lugar de usar map , use forEach o un bucle normal para este tipo de operaciones. Como esto:

 data.forEach((d) => (total+= Number(d.price)))
about 4 years ago · Juan Pablo Isaza 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