Как переделать массив с объектами, в объект, где ключами являются значения исходного массива, а значениями - массивы?
Как переделать такую структуру данных
let events = [
{
date: '2025-12-29',
event: 'name1'
},
{
date: '2025-12-31',
event: 'name2'
},
{
date: '2025-12-29',
event: 'name3'
},
{
date: '2025-12-30',
event: 'name4'
},
{
date: '2025-12-29',
event: 'name5'
},
{
date: '2025-12-31',
event: 'name6'
},
{
date: '2025-12-29',
event: 'name7'
},
{
date: '2025-12-30',
event: 'name8'
},
{
date: '2025-12-30',
event: 'name9'
},
];
в такую:
{
'2025-12-29': ['name1', 'name3', 'name5', 'name7'],
'2025-12-30': ['name4', 'name8', 'name9'],
'2025-12-31': ['name2', 'name6'],
}
в моем коде выводится только одно значение
let res = events.reduce((obj,item) => {
obj[item.date] = item.event;
return obj;
},{});
console.log(res);
let res = events.reduce((obj,item,ind,array) => {
obj[item.date] = events.reduce((arr,item,ind,array) => {
arr[ind] = item.event;
return arr;
},[]);
return obj;
},{});
console.log(res);
если пишу такой код, все значения выводятся. А как вывести только те, которые соответствуют ключам с датами?