Par exemple, j'ai un tableau: Comment obtenir des valeurs de matrice de première étape toujours = 0 p> deuxième étape 0 + 10 = 10 p> troisième étape 0 + 10 + 10 = 20 P> Fentiler l'étape 0 + 10 + 10 + 5 = 25 P> P>
3 Réponses :
Vous pouvez réduire la matrice et ajouter la valeur actuelle p> code> à la dernière somme:
const reference = [{id: 1, value: 10}, {id: 2, value: 10}, {id: 3, value: 10}, {id: 4, value: 5}];
const result = reference
.reduce((r, o, i) => {
r.push(i === 0 ? 0 : r[r.length - 1] + o.value);
return r;
}, [])
console.log(result);
Vous pouvez mapper les valeurs en prenant une fermeture sur la somme et prenez zéro pour le premier élément.
p>
const reference = [{ id: 1, value: 10 }, { id: 2, value: 10 }, { id: 3, value: 10 }, { id: 4, value: 5 }], result = reference.map((sum => ({ value }, i) => sum += i && value)(0)); console.log(result);
La façon dont je ferais cela serait en utilisant le Méthode Array.Reduce comme suit:
p>
let result = [0] reference.reduce((acc, cur) => { result.push(Object.values(cur)[1]+result[result.length-1]) })
Qu'est-il arrivé au troisième dix? Le premier élément est toujours considéré comme zéro?
@Asdfgerte oui c'est vrai. Toujours toujours zéro.
Pourquoi n'y a-t-il pas
30 code> dans le tableau de sortie? Le tableau de sortie ne devrait-il pas avoir
référence.longueur + 1 code> éléments?