const jsonArray = [
{ id: 1, name: “Alice” },
{ id: 2, name: “Bob” },
{ id: 1, name: “Alice” },
{ id: 3, name: “Charlie” },
];
const groupedByName = jsonArray.reduce((accumulator, current) => {
const existing = accumulator.find((item) => item.name === current.name);
if (existing) {
existing.id.push(current.id);
} else {
accumulator.push({ name: current.name, id: [current.id] });
}
return accumulator;
}, []);
console.log(groupedByName);