Sintaxis
_.reduce(list, iteratee, [memo], [context])
El método reduce reduce todos los valores a un solo valor. Itera sobre una lista dada de elementos, llama a la función iteratee que está vinculada al objeto de contexto, si se pasa. Iteratee se llama con tres parámetros: (memo, elemento, índice, lista). En el caso de un objeto JavaScript, el objeto de iteratee será (memo, valor, clave, lista). Devuelve la lista con fines de encadenamiento.
Memo es el primer estado de la reducción, y iteratee debe devolver cada paso sucesivo. Si no se pasa ningún memo a la invocación inicial de reduce, entonces el primer elemento se pasa como memo mientras se invoca iteratee en el siguiente elemento de la lista.
Ejemplo
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);
Guarde el programa anterior en tester.js. Ejecute el siguiente comando para ejecutar este programa.
Mando
\>node tester.js
Salida
6
6