1

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

{"0":"Item1","82":"Item2","1":"Item3","4":"Item4"}

然后我尝试使用循环构建一个选择列表

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

我怎样才能防止这种情况?

4

1 回答 1

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);
}
于 2012-06-14T09:32:33.453 回答