Aprenda Lodash: _.groupBy, agrupe itens em um array ou objeto por um valor fornecido
Desafio: escreva sua própria versão de groupBy chamada myGroupBy usando JavaScript puro que faça a mesma coisa que a versão do lodash.
A função auxiliar do lodash, groupBy, recebe um array e agrupa seus itens em um objeto de acordo com um critério fornecido. Um exemplo da vida real seria ter um estacionamento cheio de carros e agrupá-los por cor. Depois, você colocaria os vermelhos em um lugar e os azuis em outro. O array representa o estacionamento, e o objeto representa as posições onde você colocou os carros.
Argumentos
- collection (Array or Object): A coleção a ser percorrida.
- [iteratee=_.identity] (Function or String or Object): A iteratee que transforma as chaves.
Retorna
- (Object): Retorna o objeto agregado resultante.
Exemplos
groupBy(["one", "two", "three"], "length"); returns { "3": ["one", "two"], "5": ["three"] }Observações
Onde o lodash se destaca é em sua versatilidade. Essa função pode receber uma string, um objeto ou uma função e retornar um resultado. Isso dificulta escrever nossa versão em JavaScript puro, pois precisamos levar em conta tantos tipos diferentes de entrada.