Когда нужно отсортировать массив объектов сразу по нескольким полям — вместо вложенных if можно сделать так:
const sortBy = (arr, keys) => [...arr].sort((a, b) =>
keys.reduce((res, k) => res || (a[k] > b[k] ? 1 : a[k] < b[k] ? -1 : 0), 0)
);
Где пригодится:
— Сортировка таблиц и списков в UI;
— Подготовка данных из API;
— Фильтры («сначала по категории, потом по цене»).
reduce + sort = компактный способ заменить кучу if-else и делать гибкую сортировку по любым ключам.
🐸📍 Навигация: [Вакансии]
🐸 Библиотека фронтендера
#readme #js
