Merge Objects
http://stackoverflow.com/a/35050226/2773837
by Jacob
JavaScript
/*
StackOverflow answer: http://stackoverflow.com/a/35050226/2773837
*/
var sportsA = {
"sports": {
"basketball": "kobe",
"football": "ronaldo"
}
};
var sportsB = {
"sports": {
"basketball": "",
"swimming": {},
"football": "",
"running": "",
"highJump": ""
},
"calendar": ["21", "25", "30"]
};
function merge (obj1, obj2) {
var result = {};
for (var prop in obj1) {
if (typeof obj1[prop] === "object" && typeof obj2[prop] === "object")
result[prop] = merge(obj1[prop], obj2[prop]);
else
result[prop] = obj1[prop];
}
for (var prop in obj2) {
result[prop] = (result[prop] ? result[prop] : obj2[prop]);
}
return result;
}
console.log(JSON.stringify(merge(sportsA, sportsB)));