У меня есть массив объектов, каждый из которых имеет следующие атрибуты:
- идентификатор (номер)
- isBlue (ДОПОЛНИТЕЛЬНО true или false)
- isRed (НЕОБЯЗАТЕЛЬНО true или false)
- рейтинг (ДОПОЛНИТЕЛЬНЫЙ номер - 1 является более приоритетным, чем 2 -)
- createAt (дата в строковом формате '2012-02-01')
Я хочу иметь возможность упорядочить объекты в этих массивах так, чтобы сначала они отображались синими, затем с красными и, наконец, с синими или красными. Затем, внутри каждой «категории» по цвету, я хочу упорядочить по рангу, а затем по возрастанию (самый старый появляется первым).
Итак, сначала я хочу блюз, а второй - красный, а остальные - последний. Но тогда для каждого цвета я хочу заказать граблями и создать в.
Пример ввода:
[
{ id: 5, isBlue: false, isRed: true, ranking: 3, createdAt:
'2010-01-20' },
{ id: 3, isBlue: false, isRed: true, ranking: 3,
createdAt: '2010-01-23' },
{ id: 2, isBlue: false, isRed: true,
ranking: 2, createdAt: '2012-01-23' },
{ id: 16, isBlue: false, isRed:
false, ranking: 1, createdAt: '2014-01-23' },
{ id: 1, isBlue: true,
isRed: false, ranking: null, createdAt: '2014-01-23' },
{ id: 10,isBlue: true, isRed: false, ranking: 3, createdAt: '2012-01-23'}
]
Ожидаемый результат будет:
[
{ id: 10,isBlue: true, isRed: false, ranking: 3, createdAt: '2012-01-23'},
{ id: 1, isBlue: true,
isRed: false, ranking: null, createdAt: '2014-01-23' },
{ id: 2, isBlue: false, isRed: true,
ranking: 2, createdAt: '2012-01-23' },
{ id: 5, isBlue: false, isRed: true, ranking: 3, createdAt:
'2010-01-20' },
{ id: 3, isBlue: false, isRed: true, ranking: 3,
createdAt: '2010-01-23' },
{ id: 16, isBlue: false, isRed:
false, ranking: 1, createdAt: '2014-01-23' },
]
Я не знаю, как сделать этот порядок «сначала по цвету», а затем с помощью граблей и создания в каждой цветовой группе.