美文网首页JavaScript
[Javascript] Array.prototype.sor

[Javascript] Array.prototype.sor

作者: 何幻 | 来源:发表于2016-03-06 10:41 被阅读9次

<u></u>sort方法用于对数组排序,它接受一个比较函数作为参数sort(fn(a,b))
如果a应该出现在b之前,则返回小于0的数值,
如果ab位置不变,则返回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"]

这是因为truefalse最终会被转换成数值10

正确做法

['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"]

相关文章

网友评论

    本文标题:[Javascript] Array.prototype.sor

    本文链接:https://www.haomeiwen.com/subject/xdsnkttx.html