这个问题已经有了答案:
Creating an array of cumulative sum in javascript
17个答案
我有一个4元素的数组。我想得到一个新数组,它计算数组元素之和,其中一个操作数一次增加一个。
例如,我有一个数组[1000, 2000, 2000, 4000]
。
结果数组应该是
[ 1000, 1000 + 2000, 1000 + 2000 + 2000, 1000 + 2000 + 2000 + 4000]
即[1000,3000,5000,9000]
var array = [1000, 2000, 2000, 4000];
var newArray = array.map((e,i) => e)
console.log(newArray);
有没有什么方法可以用map函数来实现呢?或者其他方式?
最佳答案
const array = [1000, 2000, 2000, 4000];
const result = array.reduce((acc,item, index) => {
if (index === 0) { acc.push(item); }
else {
acc.push(acc[index-1] + item);
}
return acc;
} ,[]);
console.log(result);