js:数组对象按key值进行升序降序排序

1.先定义一个数组对象

    let arr=[
        {name:'李欣',age:'18'},
        {name:'王钊',age:'15'},
        {name:'李雪',age:'20'},
        {name:'李逍遥',age:'26'},
        {name:'景天',age:'12'},
        {name:'赵灵儿',age:'14'},
        {name:'王艺璇',age:'18'},
        {name:'李紫',age:'24'},
    ];

2.写入数组对象的升序降序方法

    //封装一个数组排序方法
 function compare(key, desc) {
     //key:  用于排序的数组的key值
     //desc: 布尔值,为true是升序排序,false是降序排序
      return function(a, b) {
        let  value1 = a[key];
        let  value2 = b[key];
        if (desc == true) {
          // 升序排列
          return value1 - value2;
        } else {
          // 降序排列
          return value2 - value1;
        }
      };
    }
    //然后使用数组排序方法
    // arr.sort(compare('age',false));    
    console.log(arr.sort(compare('age',false)));    //打印调用方法

3.最后实现的效果如下
在这里插入图片描述
注:如果有更好的方法,望大佬们提些意见

Guess you like

Origin blog.csdn.net/fankse/article/details/106855336