Creating an array of cumulative sum in javascript

后端 未结 21 1596
时光取名叫无心
时光取名叫无心 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:13

    This question has been answered well by others but I'll leave my solution here too. I tried to be concise without sacrificing clarity.

    myarray.reduce((a, e, i) => {
      // a: Accumulator; e: current Element; i: current Index
      return a.length > 0 ? [...a, e + a[i - 1]] : [e];
    }, []);
    

    Map, Filter, Reduce, Find, Some, etc. are highly underrated.

提交回复
热议问题