【发布时间】:2017-08-14 13:07:55
【问题描述】:
我被一个对象结构(现在)困住了,我想看看我是否可以尝试排序。我的对象现在看起来像这样 -
{
"type1" : {
"position": 3
},
"type2" : {
"position": 1
}
}
我想弄清楚的是,是否有办法重新排序(排序)对象键/值但嵌套位置。所以期望的结果是
{
"type2" : {
"position": 1
},
"type1" : {
"position": 3
}
}
那么决定顺序的是对象中的position 值。我正在重构另一个项目以尝试向此列表添加一些排序。我知道如果它是一个对象列表会更容易很多,但这需要我更改很多其他代码,所以我试图找出我是否可以将对象结构保持为是(当然如果可能的话)。感谢阅读!
【问题讨论】:
-
Object keys do not have an ordering。您看到的任何排序都纯粹是实现定义的。
-
对象属性根据定义是无序的,所以这是不可能的。如果顺序很重要,则需要将其制成数组
-
酷,谢谢大家的回答。我将关闭它,因为它是一个骗局
-
然而,您可以做的事情类似于:
Object.keys(myObj).sort((a, b) => myObj[a].position - myObj[b].position),以按照您的首选顺序获取一组键。
标签: javascript sorting object