正文开始 <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开发工具简明历史 |