У меня есть массив объектов следующей формы:
arr[0] = { 'item1' : 1234, 'item2' : 'a string' };
Сначала я сортирую по 'item1'
, что довольно просто. Теперь я хочу снова отсортировать arr
(что отсортировано по 'item1'
), но на этот раз по 'item2'
, но только для элементов, где 'item1'
одинаково. Конечный массив будет выглядеть так:
* * 1010
Я пытался написать функцию сортировки для второго случая следующим образом:
arr.sort(function(a,b){
if(a.item1 === b.item1){
return a.item2 > b.item2 ? 1 : a.item2 < b.item2 : -1 : 0;
}
});
Я мог бы объединить две сортировки в одну функцию, чтобы получить окончательный отсортированный массив, но в некоторых случаях мне придется сортировать по 'item1'
или 'item2'
.