Здравствуйте, мне по API приходит массив с объектами, в каждом объекте есть ключ price. Нужно сделать фильтрацию по убыванию и возрастанию цены. Но с сервера иногда может приходить price пустой или равен 0, тогда нужно эти объекты показывать в самом низу, при любой сортировке по убыванию или возрастанию. Подскажите, пожалуйста, как это сделать.
Вот код, который есть сейчас.
products - массив с объектами
const sortArray = (type) => {
switch(type) {
case 'cheap':
return products.sort((objA, objB) => {
return objA.price - objB.price;
});
case 'expensive':
return products.sort((objA, objB) => {
return objB.price - objA.price;
});
}
};
Ну сделайте функцию сортировки такую:
(objA, objB) => {
var priceA = objA.price || 0;
var priceB = objB.price || 0;
return priceA - priceB;
}
В данном случае если у объекта нет price
, то цена будет 0
. Можете поменять логику, и присваивать цене какое-то огромное значение, если нужно поместить объект с другой стороны списка. Как-то так
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
У меня есть тег textarea, в котором пользователь должен менять заголовок страницыПри нажатии на ENTER будут происходить определённые действия,...