obj1 = { a: 0 , b: { c: 0}};
let obj3 = JSON.parse(JSON.stringify(obj1));
obj1.a = 4;
obj1.b.c = 4;
log(JSON.stringify(obj3));
const deepClone = obj => {
if (obj === null) return null;
let clone = Object.assign({}, obj);
console.log(clone)
Object.keys(clone).forEach(
key =>{
(clone[key] = typeof obj[key] === 'object' ? deepClone(obj[key]) : obj[key])
console.log(key)
}
);
console.log(Array.isArray(obj))
if(Array.isArray(obj)){
clone.length = obj.length;
return Array.from(clone);
}
return clone
}
const a = { foo: [1,2,3], obj: { a: 1, b: 2 } };
const b = deepClone(a);
console.log(a)
console.log(b)