Я работаю над приложением, которое получает ответ из базы данных, которая не содержит прямой метки времени, и каждый день, когда я проверяю приложение, данные получаются по-разному, что приводит к тому, что мои диаграммы отображаются в обратном направлении, если я не сделаю этого. .reverse () (или вынуть).
Я бы хотел исправить это навсегда с помощью sort (), но я не уверен, как вызвать функцию, так как ответ не содержит прямых меток времени. Вот пример ответа от API:
"records": [
{
"dateRep": "01/05/2020",
"day": "1",
"month": "5",
"year": "2020",
"cases": "222",
"deaths": "4",
"countriesAndTerritories": "Afghanistan",
"geoId": "AF",
"countryterritoryCode": "AFG",
"popData2018": "37172386",
"continentExp": "Asia"
},
{
"dateRep": "30/04/2020",
"day": "30",
"month": "4",
"year": "2020",
"cases": "122",
"deaths": "0",
"countriesAndTerritories": "Afghanistan",
"geoId": "AF",
"countryterritoryCode": "AFG",
"popData2018": "37172386",
"continentExp": "Asia"
},
{
"dateRep": "29/04/2020",
"day": "29",
"month": "4",
"year": "2020",
"cases": "124",
"deaths": "3",
"countriesAndTerritories": "Afghanistan",
"geoId": "AF",
"countryterritoryCode": "AFG",
"popData2018": "37172386",
"continentExp": "Asia"
},
Мой текущий код, таким образом, но он не работает:
for (var i = 0; i < countriesList.length; i++) {
dataWorldWideEuropa.sort(
(a, b) => new Date(a.year,a.month,a.day) > new Date(b.year,b.month,b.day)
).map(datum => {
// do work here
});
}
Могу ли я легко конвертировать .day, .month и поля .year из моего ответа в Date, а затем сортировать по ним, чтобы мне не нужно было добавлять и удалять .reverse () при изменении API?