var shallowCopy = function (obj) {
if (typeof obj !== 'object') {
return;
}
var newObj = obj instanceof Array ? [] : {};
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
newObj[key] = obj[key];
}
}
return newObj;
}
var deepCopy = function (obj) {
if (typeof obj !== 'object') {
return;
}
var newObj = obj instanceof Array ? [] : {};
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
newObj[key] = typeof obj[key] === "object" ? deepCopy(obj[key]) : obj[key];
}
}
return newObj;
}
var sourceObj = {
flfp: "flfp",
flsp: {
slfp: {
tlfp: {
flfp: "flfp",
},
tlsp: [1, 2, 3, 4, 5, [6, 7, 8]],
},
slsp: "slsp",
}
}
console.log("sourceObj", sourceObj);
var shallowCopyObj = shallowCopy(sourceObj);
shallowCopyObj.flsp.slfp.tlsp[5].push(9);
console.log("shallowcopy shallowCopyObj", sourceObj.flsp.slfp.tlsp.toString());
sourceObj.flsp.slfp.tlsp[5].pop();
console.log("sourceObj", sourceObj.flsp.slfp.tlsp.toString());
var deepCopyObj = deepCopy(sourceObj);
deepCopyObj.flsp.slfp.tlsp[5].push(9);
console.log("deepcopy copyObj", deepCopyObj);
console