当我们想把一个由数字组成的数组进行简单的排序时,可能会想到sort()方法:
var arr = [2 , 3, -1, -107, -14, 1]; console.log(arr.sort())
结果:
[-1, -107, -14, 1, 2, 3]
这样显然是有问题的,因为调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,也就是按照字符编码的顺序进行排序。
所以我们需要一个比较器:
console.log(arr.sort(function(a,b){
if(a<b){
return -1;
}
if(a>b){
return 1;
}
return 0;
}))
结果:
[-107, -14, -1, 1, 2, 3]
这样子看起来就好多了~
所以我们在使用sort()方法对数组进行排序时要注意它的规则。