JavaScript数组排序 - sort()方法

2017-12-15  本文已影响0人  erabbit
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 排序与搜索

上一篇 下一篇

猜你喜欢

热点阅读