js合并2个对象,同key的值变数组

正文开始

<pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'宋体';font-size:9.6pt;">//判断对象为空 function objIsNull(obj) {     return JSON.stringify(obj) == '{}'; } //合并2个对象的同key的值变成数组 joinObjVal({a: [1,2,3], b:{c: [6,7,8], d: 'ff'}},{a: '334',b: {c:'aaa', d:'gg'}}) //union 是否取唯一 function joinObjVal(obj1, obj2, union) { union = union || false; if(objIsNull(obj1)) return obj2; $.each(obj1, function (key_, val_) { if(obj2[key_]) { if($.isArray(val_)) { if($.isArray(obj2[key_])) { obj1[key_] = val_.concat(obj2[key_]); } else { val_[val_.length] = obj2[key_]; obj1[key_] = val_; } } else if(typeof val_ == 'object') { obj1[key_] = joinObjVal(val_, obj2[key_]) } else { if($.isArray(obj2[key_])) { obj2[key_][obj2[key_].length] = val_; obj1[key_] = obj2[key_]; } else { obj1[key_] = [val_, obj2[key_]]; } } if(union) obj1[key_] = $.unique(obj1[key_]); } }); //补全没有的数组 $.each(obj2, function (key2_, val2_) { if(!obj1[key2_]) { obj1[key2_] = val2_; } }); return obj1; }</pre>

正文结束

js 正则替换返回值做回调函数 JavaScript开发工具简明历史