JavaScripts中的SORT函數在某些情況下無法返回正確答案。在javascripts中排序的奇怪結果
我用http://jsconsole.com測試一些例子:
[2, 10].sort()[2, 10]
[3, 10].sort()[10, 3]
[9, 10].sort()[10, 9]
[10, 11].sort()[10, 11]
我與Firefox和Chrome測試它的Windows XP,Windows 2008中。
JavaScripts中的SORT函數在某些情況下無法返回正確答案。在javascripts中排序的奇怪結果
我用http://jsconsole.com測試一些例子:
[2, 10].sort()[2, 10]
[3, 10].sort()[10, 3]
[9, 10].sort()[10, 9]
[10, 11].sort()[10, 11]
我與Firefox和Chrome測試它的Windows XP,Windows 2008中。
我認爲Java和JavaScript混淆了,但它們是完全不同的編程語言。我幾乎肯定代碼是JavaScript。
JavaScript的默認排序功能按字符串值排序,而不是整數值。您必須手動選擇後者,但它是非常簡單的:
[3,10].sort(function (a, b) { return a - b; });
謝謝它現在適用於我。 – Bangyou 2013-02-11 05:43:40
老實說,我沒有JS經驗,但它似乎是按字符串值排序。 IE:1是小於9的字符,所以以1開頭的任何東西(甚至是11811891)都會比'9'更少。
的Javascript =爪哇 – 2013-02-11 05:37:05
可能重複[如何排序在JavaScript排序方法號](http://stackoverflow.com/questions/4576903/how -to-sort-number-in-javascript-sort-method) – 2013-02-11 05:41:05