deep copy
by Paco86
JavaScript
const deepCopy = (obj) => {
const keys = Object.keys(obj);
const newObject = {}
for (let i = 0; i < keys.length; i++) {
const key = keys[i];
if (typeof obj[key] === 'object') {
newObject[key] = deepCopy(obj[key]);
} else {
newObject[key] = obj[key];
}
}
return newObject;
}
const obj = {
info: {
name: {
firstName: 'pp'
}
}
}
const newObj = deepCopy(obj);
obj.info.name.firstName = 'jj';
console.log(obj.info.name.firstName);
console.log(newObj.info.name.firstName);