Underscore.JS reduceRight方法
语法
_.reduceRight(list, iteratee, [memo], [context])
reduceRight是reduce方法的右关联变体,用于将所有值缩减为单个值。它遍历给定的元素列表,调用绑定到上下文对象的迭代函数(如果传递)。迭代器使用三个参数调用:(memo,element,index,list)。对于JavaScript对象,迭代器的对象将是(memo,value,key,list)。返回列表以进行链式调用。
Memo是缩减的第一个状态,而每个连续的步骤都应由迭代器返回。如果在reduce的初始调用中没有传递memo,则第一个元素将作为memo传递,而迭代器将在列表中的下一个元素上调用。
示例
var _ = require('underscore');
var list = [[0], [1], [2], [3]]
//Example using reduce. prepare a single list of elements
var result = _.reduce(list, function(memo, element) { return memo.concat(element) }, []);
console.log(result);
//Example using reduceRight. prepare a single list of elements
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 ]