Underscore.JS - reduceRight 方法
语法
_.reduceRight(list, iteratee, [memo], [context])
reduceRight 是 Reduce 方法的右关联变体,用于将所有值归约成单个值。它遍历给定的元素列表,调用与 context 对象绑定的 iteratee 函数(如果传递)。Iteratee 使用三个参数调用:(memo、element、index、list)。如果是 JavaScript 对象,iteratee 的对象将是(memo、value、key、list)。返回列表以用于链接目的。
Memo 是归约的第一个状态,它的每个后续步骤都应由 iteratee 返回。如果在初始调用 Reduce 时未传递 memo,则在对列表中的下一个元素进行 iteratee 调用时,第一个元素将作为 memo 传递。
示例
var _ = require('underscore'); var list = [[0], [1], [2], [3]] //使用reduce的示例。准备一个元素列表 var result = _.reduce(list, function(memo, element) { return memo.concat(element) }, []); console.log(result); //使用reduceRight的示例。准备一个元素列表 result = _.reduceRight(list, function(memo, element) { return memo.concat(element) }, []); console.log(result);
将上述程序保存在tester.js中。运行以下命令执行该程序。
命令
\>node tester.js
输出
[ 0, 1, 2, 3 ] [ 3, 2, 1, 0 ]
underscorejs_iterating_collection.html