如何防止在jquery $ .getJSON()上重新排序字典

时间:2012-06-14 09:27:33

标签: jquery dictionary

我正在使用JQuerys的$ .getJSON()检索字典; 通过线路发送的数据是

  

{ “0”: “项目1”, “82”: “项目2”, “1”: “项目3”, “4”: “项目4”}

然后我尝试使用循环

构建选择列表
for (var key in data) {
    var item = new Option(data[key], key);
    target.options.add(item);
}

选择列表以错误的顺序结束,因为值从字典中出来的顺序是键的值的顺序。换句话说,它们按以下顺序出现

0: Item1
1: Item3
4: Item4
82: Item2

我期待他们遇到的电子邮件。

0: Item1
82: Item2
1: Item3
4: Item4

我该怎样防止这种情况?

1 个答案:

答案 0 :(得分:3)

对象的属性(就像它实际上的那样)没有特定的顺序。

改为使用数组:

[{"id":"0","name":"Item1"},{"id":"82","name":"Item2"},{"id":"1","name":"Item3"},{"id":"4","name":"Item4"}]

for (var item in data) {
  var opt = new Option(item.id, item.name);
  target.options.add(opt);
}