连接 N 个数组的最有效方法是什么?

发布于 2022-05-26 23:34:25

在 JavaScript 中连接 N 个对象数组的最有效方法是什么?

数组是可变的,结果可以存储在输入数组之一中。

关注者
0
被浏览
13
1 个回答
  • 面试哥
    面试哥 2022-05-26
    为面试而生,有面试问题,就找面试哥。

    如果您要连接两个以上的数组,concat()这是为了方便和可能的性能的方式。

    var a = [1, 2], b = ["x", "y"], c = [true, false];
    var d = a.concat(b, c);
    console.log(d); // [1, 2, "x", "y", true, false];
    

    push对于仅连接两个数组,可以使用接受多个由要添加到数组的元素组成的参数的事实来将一个数组中的元素添加到另一个数组的末尾,而无需生成新数组。slice()也可以使用它来代替,但concat()这样做似乎没有性能优势

    var a = [1, 2], b = ["x", "y"];
    a.push.apply(a, b);
    console.log(a); // [1, 2, "x", "y"];
    

    在 ECMAScript 2015 及更高版本中,这可以进一步减少到

    a.push(...b)
    

    但是,似乎对于大型数组(大约 100,000 个成员或更多),将元素数组传递给push(使用apply()或 ECMAScript 2015
    扩展运算符)的技术可能会失败。对于这样的数组,使用循环是一种更好的方法。有关详细信息,请参阅https://stackoverflow.com/a/17368101/96100



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看