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);