Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

hérisson Знаток (370), на голосовании 1 месяц назад
Как сортируют обучающие материалы - три "return":Но я логически подумал и решил сделать код с одним "return" - "-1" - результат сортировки получается тот же.Зачем возвращать еще "1" и "0"?

/* Я пробовал сортировать двумя способами не только простые массивы с числами, но и массивы из объектов по свойствам этих объектов, и результат везде был один и тот же, даже в плане порядка объектов с одним и тем же свойством. */
Голосование за лучший ответ
Павел Просветленный (25870) 2 месяца назад
Дело в том что тебе в документации пишут что ты должен возвращать числа -1, 1, 0 или NaN. Если ты не возвращаешь ничего (то есть undefined), то оно наверняка преобразовывается в NaN.
Зачем так экспериментировать с функцией, если внутреннее устройство тебе не известно? Может в 10-ти случаях она работает а на 11-ом сортировка будет неправильная? Или она будет работать менее эффективно, думая что большинство значений равны? (так как NaN даёт тот же результат что и 0). Сомневаюсь что разработчики ввели 3 возможных значения просто так...
И всё ради чего? Пары лишних строк?
hérissonЗнаток (370) 2 месяца назад
Т.е. в разработке некоторые вещи приходится просто запомнить как правильно, не обязательно понимая почему?
Павел Просветленный (25870) hérisson, ну как сказать? Понимать как изнутри работает нативная функция это чистое любопытство. Ты конечно можешь найти исходный код этого метода или связаться с разработчиком. Но даже если ты окажешься прав, какова будет цена? Часы-дни потраченного времени чтобы код стал на 3 строки короче? Задавятся вопросами похвально, но не в такие дебри. В разработке очень важно понимать почему, но не в том случае, если это касается выбор конкретного разработчика. Потому что ответом будет - разработчик так решил ?
Похожие вопросы