智慧保安互联网APP
zengh
2022-06-21 4efeb31d5b4921d7e851c256009486ad86bc70e2
uview-ui/libs/function/deepMerge.js
New file
@@ -0,0 +1,30 @@
import deepClone from "./deepClone";
// JS对象深度合并
function deepMerge(target = {}, source = {}) {
   target = deepClone(target);
   if (typeof target !== 'object' || typeof source !== 'object') return false;
   for (var prop in source) {
      if (!source.hasOwnProperty(prop)) continue;
      if (prop in target) {
         if (typeof target[prop] !== 'object') {
            target[prop] = source[prop];
         } else {
            if (typeof source[prop] !== 'object') {
               target[prop] = source[prop];
            } else {
               if (target[prop].concat && source[prop].concat) {
                  target[prop] = target[prop].concat(source[prop]);
               } else {
                  target[prop] = deepMerge(target[prop], source[prop]);
               }
            }
         }
      } else {
         target[prop] = source[prop];
      }
   }
   return target;
}
export default deepMerge;