Я написал этот простой массив фильтров для каждого времени данных, но не уверен, что это хороший способ.
Пример данных:
[
{
"content": "test1",
"createdAt": "2020-05-29T13:46:14.000Z"
},
{
"content": "test2",
"createdAt": "2020-05-29T13:46:14.000Z"
},
{
"content": "test3",
"createdAt": "2020-05-27T13:46:14.000Z"
}
]
И я хочу преобразовать его следующим образом:
{
"Fri May 29 2020": [
{
"content": "test1",
"createdAt": "2020-05-29T13:46:14.000Z"
},
{
"content": "test2",
"createdAt": "2020-05-29T13:46:14.000Z"
}
],
"Wed May 27 2020": [
{
"content": "test3",
"createdAt": "2020-05-27T13:46:14.000Z"
}
]
}
И вот мой код:
let usedDates = new Set();
let logs = {};
for(let log of data) {
const date = new Date(log.createdAt).toDateString();
if(usedDates.has(date)) continue;
logs[date] = data.filter((e) => date == new Date(e.createdAt).toDateString());
usedDates.add(date);
}
да, он работает, но не уверен, что это хорошо.