javascript - 按降序对对象进行排序
问题描述
这对我来说是一个简单但最痛苦的问题。
以以下代码片段为例:
const test = {};
test[2] = 'value2';
test[1] = 'value1';
console.log(test);
上面代码片段的结果是:
{
1: "value1",
2: "value2"
}
我想按原样传递这个对象,结果如下:
{
2: "value2",
1: "value1"
}
PS:我尝试了 Object.keys(test).sort()和Object.keys(test).reverse(),然后将它与重新创建对象的函数链接起来,但似乎没有什么对我有用。
解决方案
我检查了这个你可以使用这样的东西来将你的键和值扩展到另一个对象
{核心价值:””}
const test = {};
test[2] = 'value2';
test[1] = 'value1';
test[4] = 'value4';
var r = Object.keys(test).sort().reverse()
console.log(r);
var sorted ={}
//look like JS Sorted this ASC
r.forEach(k => {
sorted[k] = test[k]
});
console.log(JSON.stringify(sorted));
// So use Array
var sorted =[]
r.forEach(k => {
sorted.push({"key":k ,"value": test[k]})
});
console.log(JSON.stringify(sorted));