You need to enable JavaScript to run this app. 如何编写函数将CSV格式的国家首都字符串转换为以国家为键的JS对象
优惠活动
大模型
产品
解决方案
定价
更多

如何编写函数将CSV格式的国家首都字符串转换为以国家为键的JS对象

CSV格式国家首都数据转JS对象实现

处理这类固定结构的CSV数据时,需要注意几个容易踩的坑:

  • 输入字符串首尾带空换行,拆分行后会产生无效空值,需要提前过滤
  • 首行是表头项,不属于实际业务数据,需要跳过
  • 每个字段值被双引号包裹,要精准剥离首尾引号,不能破坏字段内容
  • 部分名称包含特殊变音字符(如Brasília),处理时不能损坏原字符

实现代码

function parseCountryCsv(csvInput) {
  // 按换行拆分文本,过滤掉无有效内容的空行
  const allRows = csvInput.split('\n').filter(row => row.trim().length > 0);
  // 跳过第一行表头,从第二行开始读取实际数据
  const validRows = allRows.slice(1);
  const countryCapitalMap = {};

  for (const row of validRows) {
    // 拆分逗号分隔的两个字段,移除每个字段首尾的双引号
    const [country, capital] = row.split(',').map(item => 
      item.trim().replace(/^"|"$/g, '')
    );
    countryCapitalMap[country] = capital;
  }

  return countryCapitalMap;
}

逻辑说明

  • 正则/^"|"$/g仅匹配字段开头和结尾的双引号,不会误删字段内部可能存在的引号内容
  • 给定的数据源中,国家、首都名称本身不包含逗号,不需要额外处理CSV的转义逗号场景,简单拆分即可满足需求
  • 自动兼容输入文本首尾换行带来的空行问题,不需要调用方提前做文本清理
  • 没有引入第三方CSV解析库,这类规整的简单数据场景下手写处理逻辑性能更好,也不会带来额外的依赖负担

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.05 12:45:01