为了在JavaScript中复制数组,请使用以下哪项更快?
切片方法
var dup_array = original_array.slice();
For
环
for(var i = 0, len = original_array.length; i < len; ++i)
dup_array[i] = original_array[i];
我知道这两种方法都只能进行浅表复制:如果original_array包含对对象的引用,则不会克隆对象,但是只会复制引用,因此两个数组都将引用相同的对象。但这不是这个问题的重点。
我只问速度。
Fast ways to duplicate an array in JavaScript in Order:
#1: array1copy = [...array1];
#2: array1copy = array1.slice(0);
#3: array1copy = array1.slice();
If your array objects contain some JSON-non-serializable content (functions, Number.POSITIVE_INFINITY, etc.) better to use
array1copy = JSON.parse(JSON.stringify(array1))