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)
| 归档时间: |
|
| 查看次数: |
147 次 |
| 最近记录: |