Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.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
用javascript对JSON表进行排序_Javascript_Json_Sorting - Fatal编程技术网

用javascript对JSON表进行排序

用javascript对JSON表进行排序,javascript,json,sorting,Javascript,Json,Sorting,我有一个简单的JSON表,其中元素需要按值按字母顺序排序,另一个按名称按字母顺序排序。有人能给我举个例子,我该怎么做才能理解它吗 { "sortingTask": [ {"sortAlpabeticallyByValue": [ {"string":"äää"}, {"string":"bee"}, {"string":"aaa"}, {"string":"öoöo"}, {"string":"OöOö"}

我有一个简单的JSON表,其中元素需要按值按字母顺序排序,另一个按名称按字母顺序排序。有人能给我举个例子,我该怎么做才能理解它吗

{

  "sortingTask": [

      {"sortAlpabeticallyByValue": [

      {"string":"äää"},

      {"string":"bee"},

      {"string":"aaa"},

      {"string":"öoöo"},

      {"string":"OöOö"},   

  ]},

      {"sortAlpabeticallyByName": [

      {"stringB":"testi1"},

      {"stringÄ":"testi2"},

      {"stringA":"testi3"}

  ]},

  {"sortAlpabetically": [

      "äää","bee","baa"

  ]}

  ]

}

您需要使用switch case实现自定义排序方法。为了比较两个词,你可以使用

var data={“sortingTask”:[{“sortalpabeticallyvalue”:[{“string”:“ää”}、{“string”:“bee”}、{“string”:“aaa”}、{“string”:“oöo”}、{“sortalpabeticallyvalue”}、{“sortAlpabeticallyByName”:[{“stringB”:“testi1”}、{“stringÄstring”:“testi2”}、{“stringA”:“testi3”}、{“sortAlpabetically”}、{“sortAlpabetically”];
data.sortingTask.forEach(函数(obj){
Object.keys(obj.forEach)(函数(k){
开关(k){
案例“SortalPabecticalyValue”:
obj[k].排序(函数(a,b){
返回a.string.localeCompare(b.string,未定义,{sensitivity:'variant'});
});
打破
“排序”情况:
obj[k].排序(函数(a,b){
返回a.localeCompare(b,未定义,{sensitivity:'variant'});
});
打破
案例“SortalPabecticalAllyByName”:
obj[k].排序(函数(a,b){
返回Object.keys(a)[0].localeCompare(Object.keys(b)[0]);
});
打破
}
});
});
控制台日志(数据)

。作为控制台包装{max height:100%!important;top:0;}
我该怎么做?@HemantRajpoot该评论是错误的!无需解析JSON。它是一个对象,因此您可以通过读取属性对其进行排序。可能重复