Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Java脚本中奇怪的排序结果_Javascript_Sorting - Fatal编程技术网

Javascript Java脚本中奇怪的排序结果

Javascript Java脚本中奇怪的排序结果,javascript,sorting,Javascript,Sorting,在某些情况下,javascripts中的SORT函数无法返回正确答案 我用它来测试一些例子: [2, 10].sort()[2, 10] [3, 10].sort()[10, 3] [9, 10].sort()[10, 9] [10, 11].sort()[10, 11] 我在WindowsXP、Windows2008以及firefox和chrome上进行了测试 老实说,我没有JS的经验,但它似乎是按字符串值排序的。IE:1是比9低的字符,所以任何以1开头的字符(甚至11891)都将比9小 我

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

我用它来测试一些例子:

[2, 10].sort()[2, 10]
[3, 10].sort()[10, 3]
[9, 10].sort()[10, 9]
[10, 11].sort()[10, 11]

我在WindowsXP、Windows2008以及firefox和chrome上进行了测试

老实说,我没有JS的经验,但它似乎是按字符串值排序的。IE:1是比9低的字符,所以任何以1开头的字符(甚至11891)都将比9小

我认为您混淆了Java和JavaScript,但它们是完全不同的编程语言。我几乎肯定代码是JavaScript

JavaScript的默认排序功能按字符串值而不是整数值排序。您必须手动执行后一种操作,但非常简单:

[3,10].sort(function (a, b) { return a - b; });
可能重复的