排序:arr.sort();默认按字符串升序排列
自定义排序:2步:Setp1:定义比较器函数!
什么是比较器函数?定义任意两值比较策略的方法
function compare(a,b){
return a-b;
}
如果返回>0数,a>b;如果返回<0数,a<b;如果刚好=0,a=b
Setp2:将比较器函数传递给sort方法!如何将方法作为参数传递?
js中方法也是一个对象!方法名就是指向方法对象的变量名!function compare(a,b){return a-b;}
//可以定义在使用前后的任何位置,原因:var 声明和function声明自动提前!相当于:var compare = new Function("a","b","return a-b");
//必须定义在使用之前!原因是仅声明提前,赋值不提前!
arr.sort(compare);注意!将方法作为对象传递时,仅使用方法名,后不加圆括号。
排序算法:
降序:颠倒比较结果的正负,可以导致升序变降序
升序:function compareASC(a,b){return a-b;}
降序:function compareDESC(a,b){return -(a-b);}