Проверяет понимание того, как работает сортировка в JavaScript и особенности сравнения значений.
Метод sort() по умолчанию сортирует элементы как строки. Поэтому числа сравниваются лексикографически, а не по значению. Например, 10 может оказаться перед 2. Чтобы сортировать числа правильно, нужно передать компаратор.
Метод Array.sort() без аргументов приводит элементы к строке и сравнивает их посимвольно.
[1, 2, 10].sort();
// результат: [1, 10, 2]
Причина:
сравниваются строки "10" и "2"
символ "1" меньше "2"
[1, 2, 10].sort((a, b) => a - b);
возвращает отрицательное число — a раньше b
положительное — b раньше a
0 — порядок не меняется
сортировка чисел
сортировка дат
сложные структуры
Без компаратора sort() работает как строковая сортировка, поэтому для чисел всегда нужно передавать функцию сравнения.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию