Недавно, когда я работал с функцией JavaScript sort(), я нашел в одном из tutorials, что эта функция не сортирует правильно. Вместо того чтобы сортировать числа, необходимо добавить функцию, которая сравнивает числа, такие как следующий код: -
<script type="text/javascript">
function sortNumber(a,b)
{
return a - b;
}
var n = ["10", "5", "40", "25", "100", "1"];
document.write(n.sort(sortNumber));
</script>
Затем вывод выводится как: -
1,5,10,25,40,100
Теперь я не понял, почему это происходит, и кто-нибудь может рассказать подробно о том, какой тип алгоритма используется в этой функции sort()? Это потому, что для любого другого языка я не нашел эту проблему, когда функция не правильно сортировала числа.
Любая помощь очень ценится.