利用遞迴實現,多維陣列和物件的深拷貝,深去重

2021-10-09 01:40:58 字數 618 閱讀 9340

利用遞迴實現,多維陣列和物件的深拷貝,深去重

//二二二物件轉殖-------------------------------------

// let map=

// }

// }

// let hebei=[『shijiazhuang』,『baoding』,『zhangjiakou』,『shijiazhuang』];

// //第一種:物件深拷貝------------------

// let deepclone=(obj)=>;

// for(key in obj)

// return t

// }

// let newmap=deepclone(map);

// //1.修改newmap,測試map不會改變,深拷貝

// newmap.sheng.city.hebei=array.from(new set(newmap.sheng.city.hebei));

// console.log(map.sheng.city.hebei);

//第二種:物件深拷貝---------------

// let map2=json.parse(json.stringify(map));

JavaScript 利用遞迴實現物件深拷貝

先來普及一下深拷貝和淺拷貝的區別 淺拷貝 就是簡單的複製,用等號即可完成 let a let b a這就完成了乙個淺拷貝 但是當修改物件b的時候,我們發現物件a的值也被改變了 b.a 10 console.log a.a 10這是因為淺拷貝只複製了指向物件的指標,新舊物件共用同一塊記憶體,修改某乙個...

JS陣列和物件實現深拷貝

for 迴圈 for 迴圈 copy function copyfun arr return copyarr let arr1 1 2,3 4 let arr2 copyfun arr1 1,2,3,4 console.log arr2 1,2,3,4 arr2 0 10 console.log a...

物件陣列的深拷貝和物件的深拷貝

1 對於 普通陣列 陣列元素為數字或者字串 深拷貝很簡單,拷貝之後兩個陣列指標指向的儲存位址不同,從而完成深拷貝 var test 1,2,3 原陣列 var testcopy concat test 拷貝陣列 testcopy 0 4 console.log test 1,2,3 console....