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