说明
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}
转载于:https://www.cnblogs.com/mikeCao/p/8709366.html