Underscore.JS - método groupBy

Sintaxe

_.groupBy(list, iteratee, [context])

O método groupBy obtém as listas distribuídas agrupadas ao executar o método iteratee fornecido.

Exemplo

var _ = require('underscore');

var list = ["Sam", "Joe", "Julie", "Aleen"]

//Example 1. invoke groupBy method to get grouped list by length
var result = _.groupBy(list, 'length');
console.log(result);

list = [1.3, 1.2, 1.5, 2.4, 2.3, 2.5]

//Example 2. invoke groupBy method to get grouped list of number
result = _.groupBy(list, function(num){ return Math.floor(num); })
console.log(result)

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

Comando

\>node tester.js

Resultado

{ '3': [ 'Sam', 'Joe' ], '5': [ 'Julie', 'Aleen' ] }
{ '1': [ 1.3, 1.2, 1.5 ], '2': [ 2.4, 2.3, 2.5 ] }