利用遞迴實現,多維陣列和物件的深拷貝,深去重
//二二二物件轉殖-------------------------------------
// 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....