Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

158
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda