jquery - How to recursively merge 2 javascript objects? -


i have 2 objects need merge , keep properties in tact, tried jquery $.extend cant work . tried posts how merge javascript objects cant work.

var thz_icon_source = {"spinners":["spinnericon1","spinnericon2"],"awesome":["awesomeicon1","awesomeicon2"]}; var fa_icon_source = {"spinners":["faspinner1","faspinner2"],"awesome":["faawesome1","faawesome2"]}; var new_source ={}; $.extend(new_source,fa_icon_source,thz_icon_source);  console.log(thz_icon_source); console.log(fa_icon_source); console.log(new_source); 

desired output should like

{ "spinners":["faspinner1","faspinner2","spinnericon1","spinnericon2"], "awesome":["faawesome1","faawesome2","awesomeicon1","awesomeicon2"] } 

this post merge 2 json/javascript arrays in 1 array has simple object mine not same one.

demo

function mergejson(json1,json2) {     var result = json1 ;     (var prop in json2)      {         if (json2.hasownproperty(prop))          {             result[prop] = result[prop].concat(json2[prop]);         }     }     return result; } 

Comments