js对象排序

Object.keys(objs).sort()可以获取到排好序的keys

var objs = {
    f: {
        id: 2,
        name: '2'
    }, 
    a: {
        id: 3,
        name: '3'
    }, 
    c: {
        id: 1,
        name: '1'
    }
};
// 自定义排序规则,按对象的id排序
var sortedObjKeys = Object.keys(objs).sort(function(a, b) {
    return objs[b].id - objs[a].id;
});

// 按默认排序规则,按对象的key排序
var sortedObjKeys = Object.keys(objs).sort();

for (var index in sortedObjKeys) {
    console.log(sortedObjKeys[index]);
    console.log(objs[sortedObjKeys[index]]);
    console.log('----------');
}

  

Object.keys(obj).sort(function() {
    // 为了以防万一,这里先排好键值顺序,代码省略,也可以直接用sort()默认排序
}).map(function(v) {
    return obj[v]; // 根据原键名从obj中再找对应的项
});