js数组对象排序

      发布在:前端技术      评论:0 条评论
//对数组的排序

backcolorlist=[
{ name: '陈七', age: '20', sex: '', sort: 4 },
        { name: '王五', age: '42', sex: '', sort: 2 },
       { name: '赵六', age: '27', sex: '', sort: 1 },
   { name: '张三', age: '37', sex: '', sort: 3 },
   { name: '李四', age: '53', sex: '', sort: 1 }
];
   function compare(attr){
return function(a,b){
var value1 = a[attr];
           var value2 = b[attr];
           return value1 - value2;
       }
}
console.log(backcolorlist.sort(compare('sort'))) //返回对象,sort从小到大正向排序

//对对象的排序
let
list = {
1: { name: '陈七', age: '20', sex: '', sort: 4 },
   2: { name: '王五', age: '42', sex: '', sort: 2 },
   3: { name: '赵六', age: '27', sex: '', sort: 1 },
   4: { name: '张三', age: '37', sex: '', sort: 3 },
   5: { name: '李四', age: '53', sex: '', sort: 1 }
};
let arr = []

// 将需要排序的 key, 按照 "从小到大" 进行排列
let sortKeys = Object.keys(list).sort(function(a, b){
return list[a].sort - list[b].sort
})

// 循环排列好的 key, 重新组成一个新的数组
for (var sortIndex in sortKeys) {
arr.push(list[sortKeys[sortIndex]])
}

console.log(arr)


相关文章
热门推荐