@slaxik123

Сортировка массива?

Как правильно выполнять сортировку массива объектов на основании нескольких свойств объекта с приоритетом на определенное свойство?
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
ArsenyMatytsyn
@ArsenyMatytsyn Куратор тега JavaScript
Руководитель frontend направления, предприниматель
У JS есть великолепные инструменты для работы с массивами, один из них → .sort(), который позволяет не перебирать ручками все ключи со значениями.

А для сравнения двух и более достигается с помощью оператора ИЛИ (||). Таким образом:
array.sort((a,b) => { return a.z - b.z || a.y - b.y })

Где z и y ключи объекта в массиве, а разница → «направление» смещения.

ЗЫ: в зависимости от типа полей их можно суммировать для достижения определенных результатов, к примеру развернув дату и добавив ее к строке:
array.sort((a,b) => { 
    if('20200520a' < '20200520б'){ 
        return 1;
    }
    else {
        return -1;
    }
})

Последний вариант требует тщательного изучения принципа работы. Так же рекомендую сразу начинать присматриваться к .map().
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы