在JavaScript中串联N个对象数组的最有效方法是什么?
数组是可变的,结果可以存储在输入数组之一中。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
如果要连接两个以上的数组,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扩展运算符)的技术可能会失败。对于此类阵列,使用循环是一种更好的方法。 问题来源于stack overflow