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 ]