有没有更简单的方法来创建数组中先前值的总和?

Him*_*ors 0 javascript ecmascript-6

我基本上是在寻找一种更简单的方法:

heights.forEach((height, i) => {
    var p = i > 0 ? i -1  : 0;
    this.breakingPoints.push(height+heights[p])
})
Run Code Online (Sandbox Code Playgroud)

如果我输入一个数组:

[0,2,5,5]
Run Code Online (Sandbox Code Playgroud)

我想输出

[0,2,7,12]
Run Code Online (Sandbox Code Playgroud)

Nen*_*car 9

您可以使用map()带闭包的方法来返回新数组.

const arr = [0,2,5,5];
const result = (s => arr.map(e => s += e))(0);
console.log(result)
Run Code Online (Sandbox Code Playgroud)