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; })