//对数组的排序
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)
相关文章