说明
array.sort()用于对数组进行排序,返回数组,方法默认是“升序”排序,原数组会发生改变
简单点:比较函数两个参数a和b,返回a-b升序,返回b-a升序
普通数组(降序)
var arr = [1, 3, 4, 2, 5]; arr.sort(function(a, b){
return b - a;
});
console.log(arr);
//输出结果[5, 4, 3, 2]
对象数组排序
var arr = [
{'sortNo': 2},
{'sortNo': 6},
{'sortNo': 7},
{'sortNo': 4},
]; arr.sort(function(a, b){
return a.sortNo - b.sortNo;
});
console.log(arr); //输出结果
//{'sortNo': 2}
//{'sortNo': 4}
//{'sortNo': 6}
//{'sortNo': 7}
对象数组多条件排序
var arr = [
{ 'sortNo': 2, 'sortNo2': 3},
{ 'sortNo': 1, 'sortNo2': 1},
{ 'sortNo': 3, 'sortNo2': 4},
{ 'sortNo': 4, 'sortNo2': 2},
{ 'sortNo': 4, 'sortNo2': 5},
]; arr.sort(function(a, b){
if(a.sortNo === b.sortNo){
return b.sortNo2 - a.sortNo2;
}else{
return a.sortNo - b.sortNo;
}
});
console.log(arr); //输出结果
//{'sortNo': 1, 'sortNo2': 1}
//{'sortNo': 2, 'sortNo2': 3}
//{'sortNo': 3, 'sortNo2': 4}
//{'sortNo': 4, 'sortNo2': 5}
//{'sortNo': 4, 'sortNo2': 2}