Underscore.JS - método reduceRight

Sintaxe

_.reduceRight(list, iteratee, [memo], [context])

reduzRight é a variante associativa à direita do método de redução para reduzir todos os valores a um único valor. Ele itera sobre uma determinada lista de elementos, chame a função iteratee que está ligada ao objeto de contexto, se passado. Iteratee é chamado com três parâmetros: (memo, elemento, índice, lista). No caso de objeto JavaScript, o objeto do iteratário será (memo, valor, chave, lista). Retorna a lista para fins de encadeamento.

Memo é o primeiro estado da redução e cada etapa sucessiva dela deve ser retornada por iteratee. Se nenhum memorando for passado para a invocação inicial de reduzir, então o primeiro elemento é passado como memorando enquanto invocado iterate no próximo elemento na lista.

Exemplo

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);

Salve o programa acima em tester.js. Execute o seguinte comando para executar este programa.

Comando

\>node tester.js

Resultado

[ 0, 1, 2, 3 ]
[ 3, 2, 1, 0 ]