У меня есть массив, организованный таким образом.
const array = [
{
Year: 2018,
Month: 'Dec'
},
{
Year: 2017,
Month: 'Apr'
},
{
Year: 2018,
Month: 'Mar'
},
{
Year: 2018,
Month: 'Oct'
},
{
Year: 2017,
Month: 'Jan'
},
{
Year: 2018,
Month: 'Apr'
}
]
Я успешно организовал данные по годам или месяцам, но каждый раз, когда я пытаюсь упорядочить их по обоим сразу, то, какой бы один из них ни организовал последние, он вытеснит все до него. Я понимаю, почему он это делает, но никак не могу найти способ обойти это.
const sortedByYear = array.sort((a, b) => a.Year - b.Year);
Сортировка по году довольно просто.
const sorted = sortedByYear.sort((a, b) => Months.indexOf(a.Month) - Months.indexOf(b.Month));
Сортировка по месяцам.
Я попытался добавить какой-либо вид проверки в средство проверки Месяца, если совпадают годы, тогда прибегают, но это не решает проблему с тем, как он будет сортироваться.