Underscore.JS - metodo di riduzione
Sintassi
_.reduce(list, iteratee, [memo], [context])
Il metodo reduce riduce tutti i valori a un unico valore. Itera su un dato elenco di elementi, chiama la funzione iteratee che è associata all'oggetto contesto, se passata. Iteratee viene chiamato con tre parametri: (memo, element, index, list). In caso di oggetto JavaScript, l'oggetto iterato sarà (memo, valore, chiave, elenco). Restituisce l'elenco a scopo di concatenamento.
Memo è il primo stato della riduzione e ogni passaggio successivo dovrebbe essere restituito per iterazione. Se nessun memo viene passato alla chiamata iniziale di reduce, il primo elemento viene invece passato come memo mentre invokee itera sull'elemento successivo nell'elenco.
Esempio
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);
Salvare il programma sopra in formato tester.js. Eseguire il seguente comando per eseguire questo programma.
Comando
\>node tester.js
Produzione
6
6