У меня есть следующие данные, которые я хочу отсортировать по дате - не включая метку времени.
ПРИМЕЧАНИЕ: У меня есть доступ к moment
для этой задачи.
Мои данные выглядят следующим образом:
const data = [
{
"fixture": "AC v Inter",
"kickOffTime": "2018-06-14T15:00:00Z",
},
{
"fixture": "DC v NYC",
"kickOffTime": "2018-06-15T12:00:00Z",
},
{
"fixture": "AFC v LPC",
"kickOffTime": "2018-06-15T15:00:00Z",
},
{
"fixture": "DTA v MC",
"kickOffTime": "2018-06-15T18:00:00Z",
},
{
"fixture": "LAC v GC",
"kickOffTime": "2018-06-16T18:00:00Z",
}
];
Я пыталсяряд подходов.Конечный результат, которого я надеюсь достичь, - это следующая структура данных.
const updatedDataStructure = [
{
date: "2018-06-14",
fixtures: [{
"fixture": "AC v Inter",
"kickOffTime": "2018-06-14T15:00:00Z",
}]
},
{
date: "2018-06-15",
fixtures: [
{
"fixture": "DC v NYC",
"kickOffTime": "2018-06-15T12:00:00Z",
},
{
"fixture": "AFC v LPC",
"kickOffTime": "2018-06-15T15:00:00Z",
},
{
"fixture": "DTA v MC",
"kickOffTime": "2018-06-15T18:00:00Z",
},
]
},
{
date: "2018-06-16",
fixtures: [{
"fixture": "LAC v GC",
"kickOffTime": "2018-06-16T18:00:00Z",
}]
},
];
Вот моя последняя попытка, которую РАБОТАЕТ НА РАБОТУ:
const result = fixtures.reduce(function (r, a) {
r[moment(a.kickOffTime).format('ddd Do MMM')] = r[moment(a.kickOffTime).format('ddd Do MMM')] || [];
r[moment(a.kickOffTime).format('ddd Do MMM')].push(a);
return r;
}, Object.create(null));