Top.Mail.Ru
Ответы

Не большой (!) вопрос про ".sort()". Сортирую в алфавитном. Примеры кода внутри

Как сортируют обучающие материалы - три "return":

Но я логически подумал и решил сделать код с одним "return" - "-1" - результат сортировки получается тот же.

Зачем возвращать еще "1" и "0"?

/* Я пробовал сортировать двумя способами не только простые массивы с числами, но и массивы из объектов по свойствам этих объектов, и результат везде был один и тот же, даже в плане порядка объектов с одним и тем же свойством. */

По дате
По рейтингу
Аватар пользователя
Мыслитель

Дело в том что тебе в документации пишут что ты должен возвращать числа -1, 1, 0 или NaN. Если ты не возвращаешь ничего (то есть undefined), то оно наверняка преобразовывается в NaN.
Зачем так экспериментировать с функцией, если внутреннее устройство тебе не известно? Может в 10-ти случаях она работает а на 11-ом сортировка будет неправильная? Или она будет работать менее эффективно, думая что большинство значений равны? (так как NaN даёт тот же результат что и 0). Сомневаюсь что разработчики ввели 3 возможных значения просто так...
И всё ради чего? Пары лишних строк?

Аватар пользователя
Ученик

Т.е. в разработке некоторые вещи приходится просто запомнить как правильно, не обязательно понимая почему?



Видео по теме