Creating an array of cumulative sum in javascript

后端 未结 21 1601
时光取名叫无心
时光取名叫无心 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条回答
  •  一向
    一向 (楼主)
    2020-11-27 07:05

    Another clean one line solution with reduce and concat

    var result = myarray.reduce(function(a,b,i){ return i === 0 ?  [b]: a.concat(a[i-1]+b);},0);
    //[5, 10, 3, 2] => [5, 15, 18, 20]
    

提交回复
热议问题