Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何根据所需规则(而不是名称或索引)对JSON重新排序?_Jquery_Json_Sorting - Fatal编程技术网

Jquery 如何根据所需规则(而不是名称或索引)对JSON重新排序?

Jquery 如何根据所需规则(而不是名称或索引)对JSON重新排序?,jquery,json,sorting,Jquery,Json,Sorting,我有一个JSON,希望它被重新排序为一个新的JSON 这就是我获取JSON的方式: function getFormData($form){ var unindexed_array = $form.serializeArray(); var indexed_array = {}; $.map(unindexed_array, function(n, i){ indexed_array[n['name']] = n['value']; });

我有一个JSON,希望它被重新排序为一个新的JSON

这就是我获取JSON的方式:

function getFormData($form){

   var unindexed_array  = $form.serializeArray();
   var indexed_array    = {};

   $.map(unindexed_array, function(n, i){
       indexed_array[n['name']] = n['value'];
   });

   return indexed_array;
}
假设结果如下(JSON.stringify()):

我想按客户要求重新订购。大概是这样的:

var arr_order = [3,2,0,1];
var txt_JSON = {"created_date":"2020-10-28","age":"29","username":"john","email":"john@doe.com"}
根据重新排序规则,JSON应更改为:

var arr_order = [3,2,0,1];
var txt_JSON = {"created_date":"2020-10-28","age":"29","username":"john","email":"john@doe.com"}

这里的大多数示例显示按名称或值排序。非常感谢您的帮助。

您可以使用
object.entries

然后
.map
排列顺序
返回预期的成对顺序

并使用
object.fromEntries

var txt\u JSON={
用户名:“john”,
电子邮件:“john@doe.com",
年龄:"29岁",,
创建日期:“2020-10-28”,
}
var arr_order=[3,2,0,1]
var txt_JSON_entries=Object.entries(txt_JSON)
var new_txt_JSON=Object.fromEntries(arr_order.map((i)=>txt_JSON_entries[i]))

log(new_txt_JSON)
就像一个符咒。谢谢你