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

如何按指定次数将源数组元素动态推入目标数组?

实现方案

方案1:基础for循环(兼容性最好,易读性最高)

这是所有JS环境都支持、逻辑最直观的实现方式:

let length = 2;
let data1 = ['Label1', 'Label2', 'Label3'];
let data2 = [];

for (let i = 0; i < length; i++) {
  // 展开data1的所有元素逐个推入data2
  data2.push(...data1);
}

运行后data2就会输出你期望的['Label1', 'Label2', 'Label3', 'Label1', 'Label2', 'Label3']。

方案2:单行函数式实现(适合现代JS环境)

不需要兼容旧环境的场景下,用Array.from+flat可以无需手动写循环完成需求:

data2 = Array.from({ length }, () => [...data1]).flat();

原理是先基于指定的length生成一个包含N份data1的二维数组,再通过flat()拍平为一维数组。

方案3:fill简化写法(ES6+可用)

ES6及以上版本还可以用fill进一步简化代码:

data2 = new Array(length).fill(data1).flat();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 07:45:03