js 对象操作 对象原型操作 把一个对象A赋值给另一个对象B 并且对象B 修改 不会影响 A对象
我最近在做一个vue 项目的时候,遇到了一个对象的问题。
当我们在项目需要 复制一个对象到另一个对象并且 被复制的对象不能受复制后的对象的影响。
直接上方法
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}}
这个最简单暴力的处理 两个对象的关联性的问题
封装一下
function cloneObjectFn (obj){ //对象复制
return JSON.parse(JSON.stringify(obj))
}
var obj1={a:2,b{c:0}}
var obj2=cloneObjectFn(obj1)
console.log(obj2)
function clone(myObj){
if(typeof(myObj) != 'object' || myObj == null) return myObj;
var newObj = new Object();
if(myObj instanceof Array){
newObj = [];
}
for(var i in myObj){
newObj[i] = clone(myObj[i]);
}
return newObj;
};