JavaScript - 内部JavaScript排序方法对数字数据进行排序 - 是真还是假?

时间:2011-08-29 15:20:33

标签: javascript

内部JavaScript排序方法对数字数据进行排序 - 是真还是假?

2 个答案:

答案 0 :(得分:6)

  

如果未提供compareFunction,则通过将元素转换为字符串并按字典(“词典”或“电话簿”,而不是数字)顺序比较字符串来对元素进行排序。例如,“80”以字典顺序排在“9”之前,但在数字排序中,9位于80之前。

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/sort

所以答案是假的。

答案 1 :(得分:0)

看起来好像不太好......

[3,5,1,5,10,0,99,10,12].sort()
[0, 1, 10, 10, 12, 3, 5, 5, 99]  // result

但你可以很容易地把它排好:

[3,5,1,5,10,0,99,10,12].sort(function(a,b) {return parseInt(a) > parseInt(b)})
[0, 1, 3, 5, 5, 10, 10, 12, 99] // result