JavaScript数组排序 - sort()方法

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 排序与搜索

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容