我有一个名为“wordsArray”的数组,包含5000个单词。我正在寻找一种解决方案,根据“Word”。“id”对这个数组进行排序。我们还有“项目”。“id”在我们的案例中并不重要。 这是数组的JSON格式:
{
"Word":
{"id":"1","project_id":"2"},
"Project":
{"id":"2","name":"Web"}
},{
"Word":
{"id":"4","project_id":"2"},
"Project":
{"id":"2","name":"Web"}
},{
"Word":
{"id":"2","project_id":"2"},
"Project":
{"id":"2","name":"Web"}
},{
"Word":
{"id":"3","project_id":"2"},
"Project":
{"id":"2","name":"Web"}
};
排序后,它应该是这样的:
{
"Word":
{"id":"1","project_id":"2"},
"Project":
{"id":"2","name":"Web"}
},{
"Word":
{"id":"2","project_id":"2"},
"Project":
{"id":"2","name":"Web"}
},{
"Word":
{"id":"3","project_id":"2"},
"Project":
{"id":"2","name":"Web"}
},{
"Word":
{"id":"4","project_id":"2"},
"Project":
{"id":"2","name":"Web"}
};
更新: 在JavaScript中
答案 0 :(得分:-1)
您是否有特定的编程语言想要进行排序?
因为在C#中你可以将每个“Tree”加载到一个数组中并循环遍历每个索引,然后应用一个“rank”,然后你可以使用它来重新组织数组。一旦数组索引按顺序排列,您就可以重建原始的JSON树,或者在代码中使用排序的数组。
如果您使用的是像javascript这样的网络语言,那么内置的排序功能可以与自定义功能结合使用,以便进行排名:
Words.sort(function(a, b) {
return parseFloat(a.id) - parseFloat(b.id);
});
答案 1 :(得分:-1)
您有多个嵌套对象,因此您需要查看存储在Word
的对象内部以获取用于比较的id
属性。这可能是这样的:
wordsArray.sort(function (a,b) {
return parseInt(a.Word.id) - parseInt(b.Word.id);
});