如果要连接两个以上的数组,为了方便和可能的性能,concat()
是最好的 Select .
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
接受由要添加到数组中的元素组成的多个参数这一事实可以用来将元素从一个数组添加到另一个数组的末尾,而无需生成新array.对于slice()
,它也可以代替concat()
而使用there appears to be no performance advantage from doing this.
var a = [1, 2], b = ["x", "y"];
a.push.apply(a, b);
console.log(a); // [1, 2, "x", "y"];
在ECMAScript 2015及更高版本中,这可以进一步减少到
a.push(...b)
然而,对于大型数组(大约https://stackoverflow.com/a/17368push
/96100000个成员或更多),将元素数组传递到push
的技术(使用apply()
或ECMAScript 2015扩展运算符)可能会失败.对于这样的数组,使用循环是更好的方法.详情见https://stackoverflow.com/a/17368push
/96100.