[前端]根据对象数组中对象的某一个属性来排序数组的方法

230 阅读1分钟

场景:很多情况下后端会返回一个表示排序的字段,需要前端自己根据对象中的某个属性对数组进行排序,方法如下

#排序方法#

function sortObjList(key,up){
    return function (a,b) {
    let val1 = a[key]
    let val2 = b[key]
    if(up === true) {
    //升序排列
    return val1 - val2
    }else{
    //降序排列
    return val2 - val1
    }
  }
}

#使用方法: key 表示按对象中某个属性排序的属性名,注意:直接传属性名即可,第二个参数为布尔值表示是否开启升序排列#

arr.sort(sortObjList('key' , true))