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 排序与搜索
网友评论