js-按照某个属性排序数组里的元素(sort排序法)

经常遇到我们按照某一属性排序的方法,比如按照年龄大小对成员排名,不多说,看例子

var data = [{
    name: "jiang",
    age: 22
  }, {
    name: "pander",
    age: 21
  }, {
    name: "krome",
    age: 25
  },
   {
    name: "Koges",
    age: 20
  },];

对数组中的每一个对象按照属性age来排序,这里我们用到的是js的sort方法

  //定义一个比较器
  function compare(propertyName) {
    return function(object1object2) {
      var value1 = object1[propertyName];
      var value2 = object2[propertyName];
      if (value2 < value1) {
        return 1;
      } else if (value2 > value1) {
        return -1;
      } else {
        return 0;
      }
    }
  }
  //使用方法
  data.sort(compare("age"));
  console.log(data);

打印结果

js-按照某个属性排序数组里的元素(sort排序法)

对于sort我们从官方文档看一下解释

js-按照某个属性排序数组里的元素(sort排序法)