How to use reduce to group array items in JavaScript

1 Answer

0 votes
const workers = [
    { name: 'R2D2', lang: 'cpp' },
    { name: 'Emma', lang: 'c' },
    { name: 'Arthur', lang: 'cpp' },
];

const groupeditems  = workers.reduce((acc, person) => {
    (acc[person.lang] = acc[person.lang] || []).push(person);
    return acc;
}, {});

console.log(groupeditems);



/*
run:

{
  cpp: [ { name: 'R2D2', lang: 'cpp' }, { name: 'Arthur', lang: 'cpp' } ],
  c: [ { name: 'Emma', lang: 'c' } ]
}

*/

 



answered Nov 1, 2024 by avibootz
...