Underscore.JS - reduce 方法
语法
_.reduce(list, iteratee, [memo], [context])
reduce 方法将所有值简化为单个值。它遍历给定的元素列表,调用与上下文对象绑定的 iteratee 函数(如果传递)。Iteratee 使用三个参数调用:(memo、element、index、list)。对于 JavaScript 对象,iteratee 的对象将是(memo、value、key、list)。返回列表以用于链接目的。
Memo 是简化的第一个状态,它的每个后续步骤都应由 iteratee 返回。如果在初始调用 reduce 时未传递 memo,则在对列表中的下一个元素进行 iteratee 调用时,第一个元素将作为 memo 传递。
示例
var _ = require('underscore'); //示例 1. 获取数组中每个数字的总和 var sum = _.reduce([1, 2, 3], function(memo, num) { return memo + num }, 0); console.log(sum); //示例 2. 获取对象中每个数字的总和 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
underscorejs_iterating_collection.html