Может быть, вы использовали тот тип массива в JavaScript.
Может быть, вы всегда верили, что это даст вам правильный результат.
По крайней мере, я так думал, пока однажды я увидел следующий код:
Кода -копия выглядит следующим образом:
[5,10,1] .sort ();
Возможно, результат немного неожиданно. Результаты следующие:
Кода -копия выглядит следующим образом:
[1,10,5]
После тщательного исследования я обнаружил, что метод сортировки по умолчанию не был отсортирован в соответствии с пластическими данными о формировании, а использовал метод сопоставления строк.
Другими словами, этот 1 из 10 вызывает ошибку в приведенном выше коде.
Конечно, есть много решений, вы можете передать функцию обратного вызова в метод сортировки.
Кода -копия выглядит следующим образом:
[5,10,1] .sort (function (x, y) {
if (x> y) {return 1;
}еще{
возврат -1
}
}
);
Это получит ожидаемые результаты.
Если вы найдете его случайно, запишите его, чтобы не забыть.