美文网首页
JavaScript数组排序 - sort()方法

JavaScript数组排序 - sort()方法

作者: erabbit | 来源:发表于2017-12-15 16:58 被阅读0次
    someArray.sort(compareFunc)
    

    compareFunc是比较函数,可选,如果不设置,默认从小到大排序。

    排序在原数组上进行:

    var a = [1, 3, 2];
    a.sort(); //执行后a将变为:[1, 2, 3]
    

    字符串不区分大小写排序:

    arrayObject.sort(function (x, y) {
            return x.toLowerCase() >  y.toLowerCase() ? 1 : -1; 
    });
    

    反向排序:

    var a = [1, 3, 2];
    a.sort( (x,y) => { return y-x; } ) //数字,可以直接做减法
    
    var b = ['a', 'c', 'b'];
    b.sort( (x,y) => { return y.localCompare(x); } ) //字符串,可以使用系统自带的比较函数
    

    给对象数组排序:

    var a = [
        {key: 1, status: 'a'},
        {key: 3, status: 'aaa'},
        {key: 2, status: 'aa'}
    ]
    a.sort( (x,y) => { return x.key - y.key; } ) //为对象设置排序键用于比较
    

    关于排序的具体算法,推荐肉山老师的课程:前端面试攻略:JavaScript 排序与搜索

    相关文章

      网友评论

          本文标题:JavaScript数组排序 - sort()方法

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