<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"]
网友评论