【发布时间】:2020-03-29 19:47:39
【问题描述】:
我必须将 2 个字符的国家/地区代码转换为更长的名称,并且我认为将它们存储在外部 JSON 文件中而不是在脚本本身中进行硬编码是有意义的。我能够将 JSON 读取到数组中,但似乎存在范围问题:
var countries = {};
$.getJSON("countrycodes.json", function(data) {
for (let i in data)
countries[data[i].code] = data[i].longname;
console.log(countries["MX"]) // logs "Mexico"
});
console.log(countries["MX"]) // Undefined
我的 countrycodes.json 看起来像这样:
[
{"code" : "US", "longname" : "United States"},
{"code" : "CA", "longname" : "Canada"},
{"code" : "MX", "longname" : "Mexico"},
{"code" : "RU", "longname" : "Russia"}
]
【问题讨论】:
标签: javascript json ajax scope