You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript如何实现国家缩写到对应完整国名的转换?

实现方案

你可以先创建国家三位缩写到全称的映射表,再遍历接壤国家的缩写数组匹配全称即可,这种方式查询效率高,即使后续国家数量增多也不会有性能问题。

完整可运行代码:

const countries = [
  {
    name:'Argentina',
    border:["NGA", "PAK","CHN"],
  },
  {
    name:'China',
    border:["ARG", "PAK"],
  },
  {
    name:'Nigeria',
    border:['PAK', 'CHN'],
  },
  {
    name:'Pakistan',
    border:['NGA', 'ARG'],
  },
]

// 建立缩写和国家全称的映射关系
const codeToNameMap = new Map([
  ['ARG', 'Argentina'],
  ['CHN', 'China'],
  ['NGA', 'Nigeria'],
  ['PAK', 'Pakistan']
])

// 查找目标国家(注意原代码末尾多了多余的}); 需删除避免语法报错)
const targetCountry = countries.find(con => con.name === "Argentina")

// 遍历缩写数组转换为全称
const fullBorderNames = targetCountry.border.map(code => codeToNameMap.get(code))

console.log(fullBorderNames)

运行后控制台输出结果为:

["Nigeria", "Pakistan", "China"]

如果使用公共国家数据源,不需要手动写映射关系,直接用接口返回的alpha3Code字段(即国家三位标准缩写)批量生成映射表即可:

// 假设接口返回的全量国家数据存在allCountries变量中
const codeToNameMap = new Map(allCountries.map(item => [item.alpha3Code, item.name]))
// 后续转换逻辑和上面完全一致

内容的提问来源于stack exchange,提问作者Temitayo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 08:54:03