Creating an array of cumulative sum in javascript

后端 未结 21 1628
时光取名叫无心
时光取名叫无心 2020-11-27 06:23

This is an example of what I need to do:

var myarray = [5, 10, 3, 2];

var result1 = myarray[0];
var result2 = myarray[1] + myarray[0];
var result3 = myarray         


        
21条回答
  •  慢半拍i
    慢半拍i (楼主)
    2020-11-27 07:18

    A couple more options with ES6 array spreading

    [1, 2, 3].reduce((a, x, i) => [...a, x + (a[i-1] || 0)], []); //[1, 3, 6]
    

    or

    [3, 2, 1].reduce((a, x, i) => [...a, a.length > 0 ? x + a[i-1] : x], []); //[3, 5, 6]
    

提交回复
热议问题