Jquery 按字母顺序排列JSON对象并返回JSON对象
我从cities.php发送一个json字符串,如下所示:Jquery 按字母顺序排列JSON对象并返回JSON对象,jquery,sorting,Jquery,Sorting,我从cities.php发送一个json字符串,如下所示: [{"name":"Boston","len":1,"cid":"292"},{"name":"Miami","len":1,"cid":"243"},{"name":"Washington","len":1,"cid":"36"},{"name":"Alabama","len":1,"cid":"5"},{"name":"New York","len":1,"cid":"435"}] var cities = {}; $.getJS
[{"name":"Boston","len":1,"cid":"292"},{"name":"Miami","len":1,"cid":"243"},{"name":"Washington","len":1,"cid":"36"},{"name":"Alabama","len":1,"cid":"5"},{"name":"New York","len":1,"cid":"435"}]
var cities = {};
$.getJSON('http://mypage.com/json/cities.php', function(data){
$.each(data, function (k, vali) {
cities[vali.cid] = vali.name;
});
});
{
5: 'Alabama',
36: 'Washington',
243: 'Miamai',
292: 'Boston',
435: 'New York'
};
然后我在my cities.html中检索它,如下所示:
[{"name":"Boston","len":1,"cid":"292"},{"name":"Miami","len":1,"cid":"243"},{"name":"Washington","len":1,"cid":"36"},{"name":"Alabama","len":1,"cid":"5"},{"name":"New York","len":1,"cid":"435"}]
var cities = {};
$.getJSON('http://mypage.com/json/cities.php', function(data){
$.each(data, function (k, vali) {
cities[vali.cid] = vali.name;
});
});
{
5: 'Alabama',
36: 'Washington',
243: 'Miamai',
292: 'Boston',
435: 'New York'
};
我将json放入一个javascript对象中,它工作得非常完美,结果如下:
[{"name":"Boston","len":1,"cid":"292"},{"name":"Miami","len":1,"cid":"243"},{"name":"Washington","len":1,"cid":"36"},{"name":"Alabama","len":1,"cid":"5"},{"name":"New York","len":1,"cid":"435"}]
var cities = {};
$.getJSON('http://mypage.com/json/cities.php', function(data){
$.each(data, function (k, vali) {
cities[vali.cid] = vali.name;
});
});
{
5: 'Alabama',
36: 'Washington',
243: 'Miamai',
292: 'Boston',
435: 'New York'
};
这几乎可以,但是。。。它不是按字母顺序排列的吗
在进入城市{}对象之前,我需要按名称对其进行排序
我如何做到这一点
希望能提前得到帮助和感谢 编写一个比较函数
function compare(a,b) {
if (a.name < b.name)
return -1;
if (a.name > b.name)
return 1;
return 0;
}
看看那篇文章吧,它都显示了对象数组[{}],但我的只是一个对象{},没有一个显示了如何在排序后将其返回到对象?数据是一个对象数组我尝试了这个解决方案,但没有运气。。。似乎是美元。每个部分都会在之后进行排序。。。有什么想法吗?数组应该正确排序,也许问题是你如何使用cities对象