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