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