美文网首页
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