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

JavaScript中如何优雅拆分CSV数组内的分号分隔字符串

问题

读取CSV文件后得到如下结构的数组:

var data = [["abc;def"],["ghi;jkl"], ...]

每个子数组里的字符串用分号分隔,需要将其拆分后得到如下结构:

var data = [["abc", "def"], ["ghi", "jkl"]]

尝试用forEach处理:

var dataFormatted = data.forEach((row :Array<String>)=> {
    return row[0].split(";");
});

但dataFormatted结果为undefined,想知道有没有类似的优雅实现方式。

解决方案

forEach本身没有返回值,它仅负责遍历数组执行回调逻辑,所以赋值后会得到undefined。你可以用map方法替代,它会遍历数组并将每个回调的返回值组装成新数组返回,完美匹配你的需求:

var dataFormatted = data.map(row => row[0].split(";"));

这段代码的逻辑:

  • 遍历原数组的每一个子数组row
  • 取出子数组的第一个元素row[0],用split(";")按分号拆分成新数组
  • map自动收集所有拆分后的数组,形成你需要的目标结构

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 20:25:12