Я пытаюсь найти простой способ преобразовать массив объектов в объект
У меня есть массив объектов, который выглядит следующим образом:
[
{
"id": "-LP9_kAbqnsQwXq0oGDT",
"value": Object {
"date": 1541482236000,
"title": "First",
},
},
.... more objects here
]
И идентификатор какпреобразовать его в объект с временными метками в качестве ключей и массивами объектов, соответствующих этой дате.Если этот ключ уже существует, то добавьте объект в соответствующий массив, связанный с этим ключом
{
1541482236000:
[{
"id": "-LP9_kAbqnsQwXq0oGDT",
"value": Object {
"date": 1541482236000,
"title": "First",
},
},
{
"id": "-LP9_kAbqnsQwXqZZZZ",
"value": Object {
"date": 1541482236000,
"title": "Some other title",
},
},
.... more objects here
],
1541482236001:
[{
"id": "-LP9_kAbqnsQ1234",
"value": Object {
"date": 1541482236001,
"title": "Another title",
},
},
.... more objects here
]
}
. Мне удалось добиться чего-то подобного, используя Reduce.Однако он не обрабатывает добавление объектов в массив, когда их ключ уже существует.
calendarReminders = action.value.reduce((obj, reminder) => {
dateKey = moment(reminder.value.date).format('YYYY-MM-DD')
obj[dateKey] = [reminder]
return obj;
}, {});
Как я могу это сделать?