如何在javascript中对JSON对象进行排序?
obj = JSON.parse(count); //count is responseText
和
count= {"MH_YTML":"Yavatmal H.O","MH_WRDH":"Wardha H.O","MH_SWTW":"Sawantwadi H.O"} //count{key,value}
我想按升序排序计数值(Yavatmal H.O,Wardha H.O和Sawantwadi H.O)。
答案 0 :(得分:2)
JavaScript对象(及其相关的JSON表示)没有顺序。它们是无序的财产名称和价值袋。
您可以按特定顺序创建包含条目的数组。
答案 1 :(得分:2)
您无法对对象进行排序。但是,您可以创建一个数组并对其进行排序。像这样:
var count= {"MH_YTML":"Yavatmal H.O", "MH_WRDH":"Wardha H.O", "MH_SWTW":"Sawantwadi H.O"},
countArr = [];
for (var i in count) {
countArr.push({key: i, val: count[i]});
}
countArr.sort(function(a, b) {
if (a.val < b.val) return -1;
if (a.val > b.val) return 1;
return 0;
});
答案 2 :(得分:1)
首先将该对象转换为数组,其中每个数组元素都是一对键&amp;来自object的值,然后使用自定义函数按值对该数组进行排序。然后,您可以将其转换回对象,但不能保证对象属性顺序保持不变。