Как корректно нормализовать массив объектов в js
У меня есть массив объектов вида:
[
{
id: 12,
name: john,
},
{
id: 5,
name: Josh,
},
]
Нужно привести его в массив двух объектов вида:
[
Employees: {
"12": {
id: 12,
name: john,
}
"5": {
id: 5,
name: Josh,
}
},
ids: [
0: "12",
1: "5",
]
]
Сделать это нужно в один проход через reduce, подскажите как правильно это написать, получалось что-то вроде этого, но это нерабочий код
const normalizedData = data.reduce(
(acc, item) => {
acc.employees[person.id] = person;
acc.ids.push(person.id);
return acc;
},
);