Underscore.JS reduce方法
语法
_.reduce(list, iteratee, [memo], [context])
reduce方法将所有值缩减为单个值。它迭代给定的元素列表,并调用绑定到上下文对象的迭代器函数,如果传递的话。迭代器接受三个参数:(memo,元素,索引,列表)。对于JavaScript对象,迭代器的对象将是(memo,值,键,列表)。返回链式调用的列表。
memo是缩减的初始状态,其每个后续步骤应由迭代器返回。如果没有将memo传递给缩减的初始调用,则下一个元素在列表中作为memo,而不是第一个元素。
示例
var _ = require('underscore');
//Example 1. get sum of each number of array
var sum = _.reduce([1, 2, 3], function(memo, num) { return memo + num }, 0);
console.log(sum);
//Example 2. get sum of each number of object
sum = _.reduce({one: 1, two: 2, three: 3}, function(memo, num) { return memo + num }, 0);
console.log(sum);
将上述程序保存在 tester.js 中。运行以下命令来执行该程序。
命令
>node tester.js
输出
6
6