我想对Javascript对象进行降序排序,但我看到的所有解决方案都将它们转换为数组(我不想要)。这是我的目标:
var obj = {
"and":2,
"two":1,
"too":1,
"mother":3
}
我希望这个对象看起来像这样:
var obj = {
"mother":3
"and":2,
"two":1,
"too":1
}
该物业的名称排序并不重要,因此我并不关心它two,too
。我所关心的只是物业的价值被分类。 ES6友好的单线程会很棒,但绝对不需要。
感谢。
编辑:我终于有了一些工作,虽然它真的非常糟糕......非常糟糕。function sortObject(obj) {
var sortable=[];
var newObject = {};
for(var key in obj)
if(obj.hasOwnProperty(key))
sortable.push([key, obj[key]]); // each item is an array in format [key, value]
sortable.sort(function(a, b) {
return b[1]-a[1];
});
for(i = 0; i < sortable.length; i++) {
newObject[sortable[i][0]] = sortable[i][1];
}
return newObject;
}
我的意思是,它是有效的,这一切都很重要。