聊聊sort函数

sort函数是为数组排序的,如果数组元素是字符串类型,那么数组的可变方法sort()就变得非常好使,因为sort()方法是按字符大小排序的
var names = ["David","Mike","Cynthia","Clayton","Bryan","Raymond"];
names.sort();
console.log(names); // Bryan,Clayton,Cynthia,David,Mike,Raymond

但是如果数组元素是数字类型,sort()方法的排序结果就不能让人满意了
var arr = [3,1,2,100,4,200];
arr.sort();
console.log(arr) //1,100,2,200,3,4

解决方法:为了让sort也能排序数字类型的元素,可以在调用方法是传入一个大小比较函数
// 升序排序
function compare(a,b){
return a-b;
}
// 降序排序
function compare(a,b){
return b-a;
}

var arr = [3,1,2,100,4,200];
arr.sort(compare); //1,2,3,4,100,200

你可能感兴趣的:(聊聊sort函数)