【发布时间】:2018-01-03 16:55:54
【问题描述】:
我有这个 json 对象:
obj = {
"name":
{
"display": "Name",
"id": "name",
"position": 3
},
"type":
{
"id": "type",
"position": 0
},
"id":
{
"display": "ID",
"id": "id",
"position": 1
}
"key":
{
"display": "Key",
"id": "key",
"position": 2
},
}
是否可以根据位置编号对其进行排序,而不将其转换为数组? 我试图转换它,但它改变了格式(它删除了名称、类型、id、键),我不想要这个。它应该保持原样(格式),但只是根据它们的位置排列。
我做了什么:
var array = $.map(obj, function(value, index) {
return [value];
});
array.sort(function(a,b){
return a.position - b.position;
});
obj= JSON.stringify(array);
obj= JSON.parse(obj);
【问题讨论】:
-
对象没有顺序,必须使用数组
-
您是否尝试过寻找答案? stackoverflow.com/a/5525820/482868
-
@Vic 不能交换钥匙的位置??
-
@johnmmm 不,这是不可能的
-
不幸的是,这是不可能的
标签: javascript arrays json object