JSFiddle - React, Tailwind, and code Playground
JavaScript
var oldObj = oldObjTemp = {
"name": "Bob Odenkirk",
"title": "Software Engineer",
"location": {
"locality": "San Francisco",
"region": "CA",
"country": {"name" : "United States", "code":"US"}
},
"age": 62,
"status": "Active"
};
var newObj = {
"name": "Bob Odenkirk",
"title": "Software Engineer",
"location": {
"locality": "San Francisco",
"country": {"name" : "United States"}
},
"age": 62,
"company": "Accenture"
};
var missingProps = {};
function getMissingProps(oldObj, newObj, oldObjTemp){
for (var prop in oldObj) {
if(newObj.hasOwnProperty(prop) && typeof oldObj[prop] === 'object'){
getMissingProps(oldObj[prop], newObj[prop], oldObjTemp[prop]);
}
else if(newObj.hasOwnProperty(prop)){
delete oldObjTemp[prop];
}
}
}
getMissingProps(oldObj, newObj, oldObjTemp);
console.log(oldObjTemp);