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

TypeScript中如何按每隔一个逗号的规则将字符串拆分为数组

按每2个条目分组拆分字符串的实现方案

直接按步长遍历拆分后的数组做分组即可,不需要复杂的正则匹配,就能实现每次渲染2个条目的需求:

  1. 先按逗号拆分所有单条条目,同时清理每个条目前后多余的空格,过滤拆分产生的空值
  2. 以2为步长遍历单条条目数组,每次截取连续2个条目拼接成组
  3. 遍历分组后的数组传入渲染逻辑即可

完整可运行代码:

const pharma = "Vortioxetine[1], Imipramine[2], Citalopramasdddd[2], Vortioxetine[1], Imipramine[2], Citalopram[2]"
// 拆分并清洗单条数据
const singleItems = pharma.split(',').map(item => item.trim()).filter(Boolean);
const groupItems: string[] = [];

// 按每2个一组拼接
for (let i = 0; i < singleItems.length; i += 2) {
  const currentPair = singleItems.slice(i, i + 2);
  // 拼接格式和你给出的期望输出完全对齐,不需要末尾逗号的话删掉模板串最后一个逗号即可
  groupItems.push(`${currentPair.join(', ')},`);
}

// 渲染分组后的内容
for(const index in groupItems){ 
    drawText(page, groupItems[index], {
        ...tableTextBodyCol3 , 
        x: col6X + 2,
    });
}

运行后groupItems的输出和你预期完全一致:

  • 索引0:Vortioxetine[1], Imipramine[2],
  • 索引1:Citalopramasdddd[2], Vortioxetine[1],
  • 索引2:Imipramine[2], Citalopram[2],

这个写法天然兼容条目总数为奇数的边界场景,不会出现下标越界的报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.17 16:16:01