Ответ 1
Кажется, что это неправильно. Из MDN:
Если compareFunction (a, b) меньше 0, сортируйте a с более низким индексом, чем b.
( "Нижний индекс" в этом случае означал бы, что а будет до б)
Является ли эта часть из книги "Изучение PHP, MySql и Javascript. Робин Никсон" неправильно?
numbers = [7, 23, 6, 74];
numbers.sort(function(a,b){return a - b});
- 6,7,23,74
В книге говорится:
Если анонимная функция внутри sort() возвращает значение больше нуля, тип принимает a до b.
Если анонимная функция внутри sort() возвращает значение меньше нуля, тип принимает b до a.
Сортировка запускает эту функцию по всем значениям в массиве, чтобы определить их порядок.
Это неправильно? Потому что....
a
здесь 7
b
здесь 23
7 - 23 = -16
//число меньше нуля. Книга говорит, что она должна быть до начала.
поэтому конечный результат должен быть 74, 23, 7, 6
Кажется, что это неправильно. Из MDN:
Если compareFunction (a, b) меньше 0, сортируйте a с более низким индексом, чем b.
( "Нижний индекс" в этом случае означал бы, что а будет до б)
Вывод правильный, но объяснения нет. Если метод возвращает < 0, а - до b.