扩展 JavaScript 数组:一种就地解决方案
在不创建新数组的情况下用另一个数组扩展现有 JavaScript 数组并不是一件简单的事情手术。与 Python 的扩展方法不同,JavaScript 没有提供内置的解决方案。
幸运的是,我们可以使用 .push() 方法结合展开运算符(...)高效地实现此行为。
const a = [1, 2]; const b = [3, 4, 5]; a.push(...b);
展开运算符将 b 的元素展开为单独的参数,并将它们传递给 a.push()。这有效地将 b 的全部内容添加到 a。
或者,在不支持 ECMAScript 6 的旧版浏览器中,您可以使用 .apply() 方法:
a.push.apply(a, b);
但是,当 b 中的元素数量过多时,这种方法可能会因堆栈溢出错误而失败。在这种情况下,建议使用传统的基于循环的技术:
for (const element of b) { a.push(element); }
这可确保将元素逐一追加,避免堆栈溢出问题。
以上是如何有效地就地扩展 JavaScript 数组?的详细内容。更多信息请关注PHP中文网其他相关文章!