使用Array.concat或Array.slice
复制数组有两种不同的方法例如:
var a = [1, 2, 3],
c1 = [].concat(a),
c2 = a.slice(0);
哪种方式更好?
答案 0 :(得分:9)
为清楚起见,您应该使用记录方法获取数组副本(或其中一部分)的方法:
var c2 = a.slice(0);
在任何不错的浏览器上,性能差异都可以忽略不计,因此清晰度应该是决定因素。
答案 1 :(得分:3)
就性能而言,根据jsperf.com test,这两个选项之间的差异很小。