Javascript数组复制,concat vs slice,哪一个更好?

时间:2013-07-23 07:10:00

标签: javascript

使用Array.concat或Array.slice

复制数组有两种不同的方法

例如:

var a = [1, 2, 3],

    c1 = [].concat(a),

    c2 = a.slice(0);

哪种方式更好?

2 个答案:

答案 0 :(得分:9)

为清楚起见,您应该使用记录方法获取数组副本(或其中一部分)的方法:

var c2 = a.slice(0);

在任何不错的浏览器上,性能差异都可以忽略不计,因此清晰度应该是决定因素。

答案 1 :(得分:3)

就性能而言,根据jsperf.com test,这两个选项之间的差异很小。