JSFiddle - React, Tailwind, and code Playground

HTML

<div id=x></div>

JavaScript

// use $.isEmptyObject or this
function isEmpty( o ) {
    for ( var p in o ) { 
        if ( o.hasOwnProperty( p ) ) { return false; }
    }
    return true;
}

var compareObj = function(obj1, obj2) { 
  var ret = {},rett; 
  for(var i in obj2) { 
      rett = {};  
      if (typeof obj2[i] === 'object'){
          rett = compareObj (obj1[i], obj2[i]) ;
          if (!isEmpty(rett) ){
           ret[i]= rett
          }              
       }else{
           if(!obj1 || !obj1.hasOwnProperty(i) || obj2[i] !== obj1[i]) { 
              ret[i] = obj2[i]; 
      } 
   }
  } 
  return ret; 
}; 

var a = { 
    A:[{a:"a"},{b:["cc",0,"a",0]}], 
B:{aa:"bbc"}, 
D:"Something", 
E:"6" 
};

var b = { 
    A:[{a:"a"},{b:["cc",9,"a",9]},{b:"3cb"}], 
B:{aa:"bb"}, 
C:{gg:"ff"},
D:"Something2",  
};

$("#x").append("<br>"+JSON.stringify(compareObj (a, b)));