JS中實現深拷貝的幾種方法

2022-03-07 13:47:41 字數 1028 閱讀 8882

一,物件深拷貝的幾種方法

1. 使用遞迴的方式實現深拷貝

1 function

deepclone(obj);

3   if (obj && typeof obj === 'object') else

10}11}

12   return

objclone;

13 }

2. 通過json物件實現深拷貝 

function deepclone2(obj)
注意: 無法實現物件中方法的深拷貝3. 通過object.assign()拷貝

注意: 當物件只有一級屬性為深拷貝;

當物件中有多級屬性時,二級屬性後就是淺拷貝

二,陣列深拷貝的幾種方法

1. concat(arr1, arr2,....)

注意:當陣列中的元素均為一維是深拷貝

陣列中元素一維以上是值的引用

引數可以省略

1)沒有引數是拷貝陣列

2)只有乙個引數是從該位置起到結束拷貝陣列元素

3)兩個引數,拷貝從起始位置到結束位置的元素(不包含結束位置的元素:含頭不含尾)

注意:當陣列中的元素均為一維是深拷貝

陣列中元素一維以上是值的引用

陣列深拷貝 js深拷貝的幾種方法

1.使用遞迴 使用遞迴的方式實現陣列 物件的深拷貝function deepclone obj 進行深拷貝的不能為空,並且是物件 if obj typeof obj object else return objclone 2.通過json物件 通過js的內建物件json來進行陣列物件的深拷貝func...

JS 中深拷貝的幾種實現方法

js 中深拷貝的幾種實現方法 1.使用遞迴的方式實現深拷貝 使用遞迴的方式實現陣列 物件的深拷貝 function deepclone1 obj 進行深拷貝的不能為空,並且是物件或者是 if obj typeof obj object else return objclone 2.通過 json 物...

JS 中深拷貝的幾種實現方法

使用遞迴的方式實現陣列 物件的深拷貝 function deepclone1 obj 進行深拷貝的不能為空,並且是物件或者是 if obj typeof obj object else return objclone 通過js的內建物件json來進行陣列物件的深拷貝 function deepclo...