如何从 javascript 中的国家代码获取国家名称

How to get country name from country code in javascript

我正在建立一个天气网站,我想显示给定位置的国家名称,但我 API 请求 openweathermap 仅 returns 国家代码。那么有没有一种方法可以将国家代码从 javascript 本身转换为国家名称,或者我需要再 API 调用另一个 url 将代码转换为名称。

我认为 Javascript 标准库中没有类似的东西,但一如既往,有一个 NPM 库:https://www.npmjs.com/package/i18n-iso-countries

如果您足够努力地搜索 Internet,您可能会找到一个 GitHub 项目或其他执行此操作的代码。但老实说,您最好的选择就是找到缩写和国家/地区名称列表并构建您自己的对象。真的应该不会超过半小时,最多

var atoc = {};
atoc.us = "United States";
atoc.uk = "United Kingdom";
...

您可以为此目的使用 Intl.DisplayNames,标准 JS api,但尚未获得完整的浏览器支持(从 2021 年 1 月起需要 Firefox 和 Safari 的 polyfill)。

用法:

let regionNames = new Intl.DisplayNames(['en'], {type: 'region'});
regionNames.of('US');  // "United States"

详情: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames