我有一个array = [1,2,3,4,5]并希望使用underscore.js获得累积和数组.
我想要的结果是:
[1,3,6,10,15]
Run Code Online (Sandbox Code Playgroud)
我希望数组不是累积和15作为值.任何帮助,将不胜感激.
你可以做到 _.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)