<u></u>sort方法用于对数组排序,它接受一个比较函数作为参数sort(fn(a,b))
如果a应该出现在b之前,则返回小于0的数值,
如果a和b位置不变,则返回0,
如果a应该出现在b之后,则返回大于0的数值。
注意:
不能使用a>b代替(-1,0,1)来指定排序状态
['01','02','03','04','05','06','07','08','09','10','11'].sort(function(a,b){
return a>b;
});
=> ["06", "01", "02", "03", "04", "05", "07", "08", "09", "10", "11"]
这是因为true和false最终会被转换成数值1和0。
正确做法
['01','02','03','04','05','06','07','08','09','10','11'].sort(function(a,b){
return a===b?0:(a<b?-1:1);
});
=> ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11"]