arr.sort的排序原理
阿新 • • 發佈:2018-12-15
1.預設情況下根據字元編碼進行排序
var arr = [1,3,6,2,10]
arr.sort();//[1, 10, 2, 3, 6]
2.sort排序允許接受一個引數(函式),這個函式接受2個形參a,b,並且通過冒泡的方式比較。
返回值規則:
- 當返回值為負數時,那麼前面的數在前面,也就是不動
- 當返回值為正數時,那麼後面的數在前
- 為0,不動
升序
arr.sort(function(a,b){ if(a>b){ //返回正數 b就和a位置互換,小的在前面了 return a-b; }else{ //返回負數 return a-b; } })
既然都返回return a-b ,那麼升序函式簡寫方式:
arr.sort(function(a,b){
return a - b;
})
降序
arr.sort(function(a,b){
if(a<b){
//返回正數 b就和a位置互換,大的在前面了
return b - a;
}else{
//返回負數
return b - a;
}
})
既然都返回return b - a ,那麼降序函式簡寫方式:
arr.sort(function(a,b){ return b - a; })