In the following code snippet, I want to remove part of the object using the removeItem()
function.
There is no problem when I delete the first level child of the object but when i delete second and more level children this value is also removed from the originalObject
while I want to make no changes to the originalObject
.
let originalObject = {
name : 'Jack',
job: 'teacher',
friends : 10,
car : {
name : 'pride',
color : 'white',
}
};
function removeItem(obj) {
let copiedObject = Object.assign({}, obj);
delete copiedObject.friends;
delete copiedObject.car.color;
return copiedObject;
}
let newObject = removeItem(originalObject);
console.log(newObject);
console.log(originalObject);