如何在 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 HO、Wardha HO 和 Sawantwadi HO)进行排序。
如何在 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 HO、Wardha HO 和 Sawantwadi HO)进行排序。
JavaScript 对象(及其相关的 JSON 表示)没有顺序。它们是属性名称和值的无序包。
您可以创建一个包含特定顺序条目的数组。
您无法对对象进行排序。但是,您可以创建一个数组并对其进行排序。像这样的东西:
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;
});
首先将该对象转换为数组,其中每个数组元素将是对象中的一对键和值,然后使用自定义函数按值对该数组进行排序。然后您可以将其转换回对象,但不能保证对象属性顺序将保持不变。