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

如何使用match()方法拆分数组行以实现矩阵行复制?

解决方案

要实现你想要的矩阵行复制效果,用match()方法可以这样做:

直接针对每个单元素数组提取字符串,重复拼接后用原字符串作为正则匹配规则,配合全局标志g来获取重复两次的结果:

let matrix = [['hello'], ['world']];
matrix = matrix.map(x => {
  const str = x[0];
  // 重复字符串后,用原字符串全局匹配,得到两个相同元素的数组
  return str.repeat(2).match(new RegExp(str, 'g'));
});

如果想写得更简洁,也可以改成链式调用:

let matrix = [['hello'], ['world']];
matrix = matrix.map(x => x[0].repeat(2).match(new RegExp(x[0], 'g')));

原理说明

  • x[0]提取出单元素数组里的目标字符串(比如'hello');
  • str.repeat(2)生成拼接后的字符串(比如'hellohello');
  • new RegExp(str, 'g')创建一个全局匹配原字符串的正则表达式;
  • match()方法会找出所有匹配的结果,刚好返回包含两个原字符串的数组,符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 05:23:13