Здравствуйте, мне по 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. Можете поменять логику, и присваивать цене какое-то огромное значение, если нужно поместить объект с другой стороны списка. Как-то так
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости