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

如何实现repeatTwice函数:按原顺序将数组每个元素重复两次返回新数组

实现数组元素连续重复两次的函数

需求说明

  • 定义名为repeatTwice的函数,接收任意数组作为输入参数
  • 处理逻辑:保留原数组的元素排列顺序,将每个原始元素连续重复罗列2次
  • 输出要求:返回处理完成后的新数组,不修改原始输入数组

调用示例:输入[4, "Bird", 42, true]调用repeatTwice,返回结果为[4, 4, "Bird", "Bird", 42, 42, true, true]

实现方案

基础循环实现(兼容性好、易读)

function repeatTwice(arr) {
  const res = [];
  for (const item of arr) {
    res.push(item, item);
  }
  return res;
}

简洁函数式实现

利用数组flatMap方法可以直接把每个元素映射为两个元素的数组后自动打平,代码更精简:

const repeatTwice = arr => arr.flatMap(item => [item, item]);

注意事项

  • 上述两种实现都不会修改传入的原数组,不会产生副作用
  • 如果数组元素是对象、数组这类引用类型值,重复的是元素引用地址,如果需要独立的深拷贝副本,可以根据业务场景在push时加入深拷贝逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 03:24:29