Javascript - 在另一个数组中插入一个数组

新手上路,请多包涵

将数组插入另一个数组的更有效方法是什么。

 a1 = [1,2,3,4,5];
a2 = [21,22];

newArray - a1.insertAt(2,a2) -> [1,2, 21,22, 3,4,5];

如果 a2 数组很大,从性能的角度来看,使用 splice 迭代 a2 看起来有点糟糕。

谢谢。

原文由 ic3 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 294
2 个回答

您可以使用 splice 结合一些 apply

 a1 = [1,2,3,4,5];
a2 = [21,22];

a1.splice.apply(a1, [2, 0].concat(a2));

console.log(a1); // [1, 2, 21, 22, 3, 4, 5];

在 ES2015+ 中,您可以改用扩展运算符来使它更好一些

a1.splice(2, 0, ...a2);

原文由 nickf 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题