javascripts排序的奇怪结果

Ban*_*you 3 javascript sorting

在某些情况下,javascripts中的SORT函数无法返回正确的答案.

我使用http://jsconsole.com来测试一些例子:

[2, 10].sort()[2, 10]
[3, 10].sort()[10, 3]
[9, 10].sort()[10, 9]
[10, 11].sort()[10, 11]
Run Code Online (Sandbox Code Playgroud)

我在windows xp,windows 2008上使用firefox和chrome测试了它.

Exp*_*lls 10

我认为你将Java与JavaScript混淆,但它们是完全不同的编程语言.我几乎肯定代码是JavaScript.

JavaScript的默认排序功能按字符串值排序,而不是整数值.你必须手动完成后者,但这很简单:

[3,10].sort(function (a, b) { return a - b; });
Run Code Online (Sandbox Code Playgroud)