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

发布于 2021-02-02 17:16:43

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

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

关注者
0
被浏览
68
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    如果要连接两个以上的数组,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扩展运算符)的技术可能会失败。对于此类阵列,使用循环是一种更好的方法。。



知识点
面圈网VIP题库

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

去下载看看