Underscore.JS - método de redução

Sintaxe

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

O método de redução reduz 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');

//Example 1. get sum of each number of array
var sum = _.reduce([1, 2, 3], function(memo, num) { return memo + num }, 0);
console.log(sum);

//Example 2. get sum of each number of object
sum = _.reduce({one: 1, two: 2, three: 3}, function(memo, num) { return memo + num }, 0);
console.log(sum);

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

Comando

\>node tester.js

Resultado

6
6