Кто там шарит джс?)
Есть массив типа:
Нужно отсортировать по убыванию за прайсом, либо, где price состоит из двух свойств, за newUan.
Получается вот так:
И всё было бы хорошо, если бы оно работало)0)
Юнит-тест тоже отъехал:
За таким же принципом сделал сортировку за ratingReviews(разве что без тернарника) - всё отлично работает.
Есть массив типа:
JavaScript:
const products = [
{
ratingReviews: '264 отзыва',
price: {
oldUan: '4 333 грн',
newUan: '3 799 грн',
},
name: 'Motorola MOTO G4 (XT1622) Black',
}, {
ratingReviews: '1355 отзывов',
price: '4 999 грн',
name: 'Samsung Galaxy J7 J700H/DS Black + карта памяти 16гб + чехол + защитное стекло!',
}, {
ratingReviews: '426 отзывов',
price: '5 199 грн',
name: 'Samsung Galaxy J5 (2016) J510H/DS Black + защитное стекло + чехол!',
}, {
ratingReviews: '7 отзывов',
price: {
oldUan: '10 999 грн',
newUan: '9 999 грн',
},
name: 'HTC One X10 Dual Sim Silver',
}, {
ratingReviews: '18 отзывов',
price: {
oldUan: '5 999 грн',
newUan: '4 999 грн',
},
name: 'Sony Xperia L1 Dual Black',
}];
Получается вот так:
JavaScript:
const sortedByPrice = () => {
let copiedProducts = JSON.parse(JSON.stringify(products));
copiedProducts.sort((a, b) => (parseInt(b.price.newUan === undefined ? b.price : b.price.newUan)
- parseInt(a.price.newUan === undefined ? a.price : a.price.newUan)))
{
return copiedProducts;
}
};
Юнит-тест тоже отъехал:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
За таким же принципом сделал сортировку за ratingReviews(разве что без тернарника) - всё отлично работает.
Последнее редактирование: