如何将每个数字与之前的数字相加(JavaScript)?

Max*_*nov -4 javascript arrays

我在JS代码中有这个数组:

var arrOf12Numbers = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120];
Run Code Online (Sandbox Code Playgroud)

我需要将每个数字与之前的数字相加.

var cumulative12ArrOfNumbers = [10, 30, 60, 100, 150, 210, etc to 11 index... ];
Run Code Online (Sandbox Code Playgroud)

JS中最好的方法是什么?

UPD:我是JS的新手

Nin*_*olz 11

您可以使用Array#map并返回项目和最后一笔的总和.

此提议不会更改原始数组.

var array = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120],
    result = array.map(function (a) {
        return this.last += a;
    }, { last: 0 });

console.log(result);
Run Code Online (Sandbox Code Playgroud)

没有thisArg和闭包的版本

var array = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120],
    result = array.map(function (last) {
        return function (a) {
            return last += a;
        };
    }(0));

console.log(result);
Run Code Online (Sandbox Code Playgroud)

ES6

var array = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120],
    result = array.map((last => a => last += a)(0));

console.log(result);
Run Code Online (Sandbox Code Playgroud)