【发布时间】:2016-07-01 11:25:09
【问题描述】:
我有一个对象
{
"William_Hill":{},
"bet365":{},
"royal panda":{"pay":0},
"karamba":{"roller":0,"braned":0,"pay":0},
"betfred":{"braned":0}
}
并且想按属性的数量对其进行排序,所以结果应该是这样的,它必须是一个对象
{
"William_Hill":{},
"bet365":{},
"betfred":{"braned":0},
"royal panda":{"pay":0},
"karamba":{"roller":0,"braned":0,"pay":0}
}
我已经像这样排序了,但结果是一个数组
var keysSorted = Object.keys(resultArray).sort(function(a,b){
return Object.keys(resultArray[a]).length-Object.keys(resultArray[b]).length;
});
【问题讨论】:
-
不幸的是,没有直接的方法可以做到这一点:(
-
这是最好的。实际上,您不能对对象进行排序。
-
@Rohit416: 现在,在 ES2015 中。
-
如前所述,您不能保证道具在对象中的顺序。但自 2015 年以来,“地图”对象可能会对您有所帮助..developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
-
@MattBryson:从 ES2015 开始,这不再是真的。
标签: javascript sorting