Как переделать массив с объектами, в объект, где ключами являются значения исходного массива, а значениями - массивы?

Как переделать такую структуру данных

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);

если пишу такой код, все значения выводятся. А как вывести только те, которые соответствуют ключам с датами?


Ответы (0 шт):