如何使用Underscore.js获取累积和数组?

use*_*023 4 underscore.js

我有一个array = [1,2,3,4,5]并希望使用underscore.js获得累积和数组.

我想要的结果是:

[1,3,6,10,15]
Run Code Online (Sandbox Code Playgroud)

我希望数组不是累积和15作为值.任何帮助,将不胜感激.

Seb*_*olm 8

你可以做到 _.reduce()这一点:

_.reduce([1, 2, 3, 4, 5], function (acc, n) { acc.push( (acc.length > 0 ? acc[acc.length-1] : 0) + n); return acc }, [])
Run Code Online (Sandbox Code Playgroud)

更可读的版本在这里:

var prefixSum = function (arr) {
    var builder = function (acc, n) {
        var lastNum = acc.length > 0 ? acc[acc.length-1] : 0;
        acc.push(lastNum + n);
        return acc;
    };
    return _.reduce(arr, builder, []);
}
Run Code Online (Sandbox Code Playgroud)