聊聊sort函式

weixin_34146805發表於2017-12-27

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

相關文章