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

157
Vistas
Acumule valores en una matriz sin reducirlos a un solo valor

Quiero hacer algo realmente similar para reduce valores de mi matriz, pero no quiero resumirlo todo en un solo valor. Quiero continuar con el valor resumido e insertar el incremento en cada valor consecutivo en la matriz.

Como esto:

 const array = [{ number: 6, value: 10 }, { number: 5, value: 12 }, { number: 2, value: 5 }] // Do something like this const newArray = array.reduce((accumulated, item) => { return { number: (100 / item.number) + accumulated.value || 0, value: ((100 / item.number) + accumulated.value || 0) * item.value } }, 0) // But the result should be something like this newArray = [{ number: 6, value: 10 }, { number: 30, value: 360 }, { ...and so on }]

¿Cómo se puede lograr esto? Se prefiere ES6 con/sin lodash.

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

0

Dado que los elementos de entrada y salida son uno a uno, creo que usar .map sería más intuitivo que .reduce : puede mantener una variable externa para el último objeto devuelto.

 const array = [{ number: 6, value: 10 }, { number: 5, value: 12 }, { number: 2, value: 5 }] let lastReturn = array.shift(); const newArray = [lastReturn].concat(array.map(({ number, value }) => { const newObj = { number: (100 / number) + lastReturn.value || 0, value: ((100 / number) + lastReturn.value || 0) * value }; lastReturn = newObj; return newObj; })); console.log(newArray);

Si bien sería técnicamente posible usar .reduce para esto (puede usar .reduce para lograr cualquier cosa relacionada con la iteración de matrices, .map tiene más sentido aquí.

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