24 de fevereiro de 2023 • 1 min de leitura
Como agrupar objetos de um array pela chave
Como agrupar objetos de um array pela chave utilizando o reduce() do Javascript
const input = [
{ id: 1, name: "Jeff" },
{ id: 1, name: "Cris" },
{ id: 2, name: "Maria" },
]
const output = input.reduce((acc, { id, name }) => {
const index = acc.findIndex(item => item.id === id)
index === -1 ? acc.push({ id, name: [name] }) : acc[index].name.push(name)
return acc
}, [])
console.log(output)
// [ { id: 1, name: [ 'Jeff', 'Cris' ] }, { id: 2, name: [ 'Maria' ] } ]