1
Вопрос: Как сортировать мой data
массив двумя свойствами:Сортировка по двум свойствам, где приоритет имеет общие значения?
- где
type
всегда на вершине и - где граф всегда от наименьшего к наибольшему.
Это мое усилие:
var data = [
{type: 'first', count: '1'},
{type: 'second', count: '5'},
{type: 'first', count: '2'},
{type: 'second', count: '2'},
{type: 'second', count: '1'},
{type: 'first', count: '0'},
]
//Expected
var newData = [
{type: 'first', count: '0'},
{type: 'first', count: '1'},
{type: 'first', count: '2'},
{type: 'second', count: '1'},
{type: 'second', count: '2'},
{type: 'second', count: '5'},
]
//**Pseudo code**//
// Will put the types on top
data.sort((a,b) => a.type === 'first' ? -1:0)
// This will sort the count
data.sort((a,b) => a.count < b.count ? -1 ? (a.count > b.count ? 1:0)
Поскольку количество акций значения между различными типами, я нахожу, что это трудно решить. Как я могу сортировать оба эти свойства, но всегда держать тип сверху и рассчитывать всегда в порядке от малого до большого?
Почему нет никакого типа ': 'второй', граф:«1'' элемент в вашем 'newData'? Вы ожидаете, что ваш алгоритм «сортировки» опустит его, потому что последний элемент 'first' имеет' count' больше своего? –
Извините, хороший улов –
Сколько типов может быть там? Возможно, вам придется написать собственный сортимент для этого –