Fork me on GitHub

js 根据对象数组中的属性进行排序

var arr = [
    {name:'a',age:9},
    {name:'b',age:12},
    {name:'c',age:8}
];
  
 arr.sort((a,b)=>{
	return a.age -  b.age
  });
function compare(property){
    return function(a,b){
        var value1 = a[property];
        var value2 = b[property];
        return value1 - value2;
    }
}
console.log(arr.sort(compare('age')))

  

      let mydate = [
        {
          name: '李四',
          age: 15,
        },
        {
          name: '七七',
          age: 26,
        },
        {
          name: '李红',
          age: 7,
        },
        {
          name: '赵红',
          age: 12,
        },
      ];

      function sortBy(attr, rev = false) {
        rev = rev ? 1 : -1;
        return function (a, b) {
          a = a[attr];
          b = b[attr];
          if (a > b) {
            return Number(rev);
          } else if (a < b) {
            return rev * -1;
          }
          return 0;
        };
      }
      mydate.sort(sortBy('number'));
      console.log(mydate);

 

  

posted @ 2019-09-12 11:46  欢欢11  阅读(2216)  评论(0编辑  收藏  举报