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

使用JavaScript/JQuery将特定格式数组转换为目标字符串

解决方案

可以通过分组+拼接的方式实现需求,以下是JavaScript的具体实现:

步骤说明

  1. 按主编号分组:将数组按第二个元素(主编号)归类,收集对应所有子编号(第三个元素)。
  2. 生成每组字符串:遍历分组结果,将主编号与子编号用下划线拼接,子编号之间也用下划线连接。
  3. 拼接最终字符串:将所有组的字符串用斜杠/分隔,得到目标格式。

代码实现

const arr = [[9,222,3],[9,222,4],[9,333,1],[9,333,2],[9,444,1]];

// 1. 按主编号分组
const grouped = arr.reduce((acc, item) => {
  const mainId = item[1];
  const subId = item[2];
  if (!acc[mainId]) {
    acc[mainId] = [];
  }
  acc[mainId].push(subId);
  return acc;
}, {});

// 2. 生成每组字符串并拼接最终结果
const result = Object.entries(grouped)
  .map(([mainId, subIds]) => `${mainId}_${subIds.join('_')}`)
  .join('/');

console.log(result); // 输出:222_3_4/333_1_2/444_1

代码解释

  • reduce遍历原数组,以主编号为键,将对应的子编号存入数组,构建出{222: [3,4], 333: [1,2], 444: [1]}的分组对象。
  • Object.entries将分组对象转为键值对数组,再通过map把每组的主编号和子编号数组拼接成主编号_子编号1_子编号2的格式。
  • 最后用join('/')把所有组的字符串连接起来,得到目标格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 01:06:19