这个问题已经有了答案:
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);

09-10 09:55
查看更多