一個對象如何複製給另外一個對象,互不影響

1.使用 Object.assign() 方法複製對象javascript

let  obj1 = { a: 0 , b: { c: 0}};
   let  obj2 = Object.assign({}, obj1);
   console.log(JSON.stringify(obj2));  // { a: 0, b: { c: 0}}
   
   obj1.a = 1;
   console.log(JSON.stringify(obj1));  // { a: 1, b: { c: 0}}
   console.log(JSON.stringify(obj2));  // { a: 0, b: { c: 0}}
   
   obj2.a = 2;
   console.log(JSON.stringify(obj1));  // { a: 1, b: { c: 0}}
   console.log(JSON.stringify(obj2));  // { a: 2, b: { c: 0}}
   
   obj2.b.c = 3;
   console.log(JSON.stringify(obj1));  // { a: 1, b: { c: 3}}
   console.log(JSON.stringify(obj2));  // { a: 2, b: { c: 3}}
 
2.簡單粗暴的方法  結束兩個對象的關聯性的問題
   let obj1 = { a: 0 , b: { c: 0}};
    let  obj3 = JSON.parse(JSON.stringify(obj1));
    obj1.a = 4;
    obj1.b.c = 4;
    console.log(JSON.stringify(obj3));  // { a: 0, b: { c: 0}}
相關文章
相關標籤/搜索