Array.sort方法

掉坑里了,以前看介绍,只知道js里面数组有个sort方法,可以用来排序,但怎么排序的,不知道了

1
2
var arr = [3,6,4,55,23,63,415,42]
console.log(arr.sort());

以为是数字升序排列,得到[3,4,6,23,42,55,63,415] 我错了,当时没看清楚介绍。 运行结果其实是

1
[23, 3, 4, 415, 42, 55, 6, 63]

可以看出来,是按字母顺序排列的。

如果希望是按照数字排序,或者说按照自己的想法排序,sort可接受排序函数

1
2
3
4
var arr = [3,6,4,55,23,63,415,42]
console.log(arr.sort(function(a,b){
return a - b;
}));

这样可以得到结果

1
[3, 4, 6, 23, 42, 55, 63, 415]