I have an array of objects, something like this:
myArray = [
{ id: 1, name: 'sara' },
{ id: 2, name: 'json' },
{ id: 3, name: 'elin' },
{ id: 1, name: 'linda' },
{ id: 2, name: 'marc' },
{ id: 3, name: 'kim' }
;]
I want to find all the objects with the same id and collect as one index in array, like this:
myNewArray = [
[{ id: 1, name: 'sara' }, { id: 1, name: 'linda' }],
[{ id: 2, name: 'json' }, { id: 2, name: 'marc' }],
[{ id: 3, name: 'elin' }, { id: 3, name: 'kim' }]
];
Thanks a lot.
const answer = new Map();
myNewArray.forEach(item=>{const value = answer.get(item.id) ??[];value.push(item);answer.set(item.id,value);});
myNewArray = [...answer.values()];