[英]Sort object by key in descending order
这对我来说是一个简单但最痛苦的问题。
以以下代码片段为例:
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));
使用正整数键是不可能的。 它可能适用于大多数具有非正整数键的浏览器(但可能不是全部): [-2]
、 [.2]
、 ['2 ']
等。
const obj = { '2 ': "value2", '1 ': "value1" }; console.log(obj); console.log( JSON.stringify(obj, 0, 2).replace(/ ": "/g, '": "') );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.