js中有什么办法能让对象进行排序呢?-灵析社区

花影流年

后台返回了一个json对象,顺序是已经排好了的 ![https://wmprod.oss-cn-shanghai.aliyuncs.com/community/1724826360054_KqEY.jpg](https://wmprod.oss-cn-shanghai.aliyuncs.com/community/1724826360054_KqEY.jpg) 但是我用js像遍历数组那样去for in遍历这个对象时 结果和原对象却不一样了 查过资料后才知道js对象是无序的。。 那么有办法顺序遍历这个对象么? 或者怎么顺序得到原对象的属性? 但是我用js像遍历数组那样去for in遍历这个对象时 结果和原对象却不一样了 查过资料后才知道js对象是无序的。。 那么有办法顺序遍历这个对象么? 或者怎么顺序得到原对象的属性?

阅读量:123

点赞量:0

问AI
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('----------'); }