JavaScript的sort方法

  • Post author:
  • Post category:java




说明

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