JavaScript Map.groupBy()

Definição e uso

Map.groupBy() O método agrupa os elementos do objeto com base no valor de string retornado pela função de callback.

Map.groupBy() O método não altera o objeto original.

Instância

// Cria um array
const fruits = [
  {name:"apples", quantity:300},
  {name:"bananas", quantity:500},
  {name:"oranges", quantity:200},
  
]
// Função de callback usada para agrupar elementos
function myCallback({ quantity }) {
  return quantity > 200 ? "ok" : "low";
}
// Agrupa por quantidade
const result = Map.groupBy(fruits, myCallback);

Experimente pessoalmente

Atenção

Os elementos no objeto original e no objeto retornado são os mesmos.

Qualquer alteração em um objeto refletirá no outro.

A diferença entre Object.groupBy() e Map.groupBy()

Object.groupBy() e Map.groupBy() A diferença está em:

Object.groupBy() Agrupa elementos em um objeto JavaScript.

Map.groupBy() Agrupa elementos em um objeto Map.

Sintaxe

Map.groupBy(iterable, callback)

Parâmetro

Parâmetro Descrição
iterable Obrigatório. Array iterável ou Map.
callback

Obrigatório. Função executada para cada elemento.

A função deve retornar o nome do grupo do elemento.

Retorno

Tipo Descrição
Object Inclui um objeto Map contendo elementos de agrupamento.

Suporte do navegador

Map.groupBy() É uma característica do ES2024.

A partir de março de 2024, todos os navegadores modernos suportam completamente:

Chrome Edge Firefox Safari Opera
Chrome 117 Edge 117 Firefox 119 Safari 17.4 Opera 103
Setembro de 2023 Setembro de 2023 Outubro de 2023 Outubro de 2024 Maio de 2023