Мне нужно преобразовать 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
Мои коды стран. json выглядит так:
[
{"code" : "US", "longname" : "United States"},
{"code" : "CA", "longname" : "Canada"},
{"code" : "MX", "longname" : "Mexico"},
{"code" : "RU", "longname" : "Russia"}
]