Что выведет код в Node 22? Запишите строки по порядку, по одной на строку.
В работе: Выдача Ozon: «по рейтингу», а при равном рейтинге — дешевле выше. Порядок двух сортировок подряд держится на стабильности sort.
Как проверяем
Код не запускаем — предскажите вывод. Пишите строки по порядку, по одной на строку; пробелы по краям не важны. Ответ один на подход: после него показываем разбор.
Источник: на задачах Ozon: сортировка выдачи по цене и рейтингу. Условие пересказано своими словами.
Давали на собеседовании?
const items = [{ name: 'чайник', price: 2490, rating: 4.7 },{ name: 'тостер', price: 1990, rating: 4.7 },{ name: 'блендер', price: 2490, rating: 4.9 },{ name: 'миксер', price: 1990, rating: 4.5 },{ name: 'весы', price: 990, rating: 4.7 },];const names = (a) => a.map((x) => x.name).join(' ');const byPrice = [...items].sort((a, b) => a.price - b.price);console.log(names(byPrice));const byRatingThenPrice = [...byPrice].sort((a, b) => b.rating - a.rating);console.log(names(byRatingThenPrice));const broken = [...items].sort((a, b) => a.price > b.price);console.log(names(broken));const sorted = items.toSorted((a, b) => a.price - b.price);console.log(items[0].name, sorted[0].name);const same = items.sort((a, b) => a.rating - b.rating);console.log(same === items, items[0].name);console.log([3, undefined, 1, , 2].sort().length, String([3, undefined, 1, , 2].sort()));