JSFiddle - React, Tailwind, and code Playground
by ktstowell
JavaScript
var src = {foo: 'foo', bar: {baz: 'baz'}};
var ext = {baz: 'baz', bar: {bang: 'bang'}}
var merge = merge(src, ext);
console.log(merge);
function merge(src, ext) {
for(var key in ext) {
if(!ext[key]) { break; }
if(!src[key]) {
src[key] = ext[key];
} else if(src[key].constructor === Object && ext[key].constructor === Object) {
src[key] = merge(src[key], ext[key]);
} else {
src[key] = ext[key];
}
}
return src;
}