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

如何将二维数组的列以换行符合并为单行数组

说明: 我的问题已解决,@kennarddh的回答帮我打破了思维瓶颈。若您仍感兴趣可继续阅读。

问题需求

现有如下二维数组:

const data = [
    ['A', 'B', 'C', ''],
    ['D', 'E', 'F', 'G']
]

需要将每一列的各行元素用换行符\n拼接,最终合并为仅含单行的新数组。

预期输出:

const result = [
    ['A\nD', 'B\nE', 'C\nF', '\nG']
]
背景场景

我处理多个Excel数据文件时,多数文件格式一致,但部分存在差异。当文件格式不符合预期时,我会用模糊搜索工具Fuse.js查找工作表中的目标单元格,但Fuse.js要求输入为字符串列表,因此需要将单元格的二维结构转换为一维字符串列表。

由于人为操作的惰性,部分数据表头会跨两行或多行,比如区分“含税价格”“不含税价格”这类相似数据时:

const fileData = [
    [],
    ['some', 'irrelevant', 'data'],
    [''],
    ['', '', 'vat'],               // <-- 表头起始行
    ['product', 'price', 'price'], // <-- 表头结束行
    ['data', 'data', 'data'],      // <-- 数据起始行
    ['data', 'data', 'data'],      // <-- 数据结束行
    [''],
]

这种情况下,仅搜索表头关键词:

'price'

会返回两个无法区分的结果。

如果将多行表头用换行符\n合并:

const merged = [
    ['\nproduct', '\nprice', 'vat\nprice']
]

就能得到可区分的唯一表头列表,便于后续精准搜索。需要按此方式处理fileData后再进行搜索操作。

结合配置文件中预设的目标表头,我可以搜索:

'\nprice' 

或

'vat\nprice'

来定位表头的列位置,从而更准确地从文件对应位置导入目标数据。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 22:12:26