我正在使用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
我该怎样防止这种情况?
答案 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);
}