数组方法sort使用比较函数

2018-11-14  本文已影响16人  胡儒清

排序规则

数组的sort方法可以对数组进行排序,按照Unicode码进行排列,但遇到特殊情况,比如成员是字符串的数字,或者成员是对象的时候,就需要用到比较函数才能得到我们想要的结果

let arr = [
"100","3","20","50"
]
function compare(a,b){
  return a-b;
}
console.log(arr.sort(compare));

总结:在比较函数里,规则如下

  1. return a-b; 那么当a>b的时候,a和b交换位置,就是把a放到b的后面,这时候是升序排列。
  2. return b-a; 则跟上面第一点反过来,这时候是降序排列。

数组成员是对象的处理方法

有如下数组,请按age进行降序排列

let arr = [
  {name:'Tom',age: 20},
  {name:'peter',age: 60},
  {name:'Bruce',age: 10},
  {name:'Lucy',age: 40},
]

function compare(p1,p2) {
  let age1 = p1.age;
  let age2 = p2.age;
  // 降序排列
  return age2 - age1;
}
arr.sort(compare);
上一篇下一篇

猜你喜欢

热点阅读