zoukankan      html  css  js  c++  java
  • Object合并,并使用默认值处理


      private mergeObject(targetObj: any, sourceObj: any, defaultObj: any) {
        if (defaultObj instanceof Object) {
          let keys = Object.keys(defaultObj);
          for (let i = 0; i < keys.length; i++) {
            const key = keys[i];
            const prop = defaultObj[key]
            if (prop instanceof Array || prop instanceof Object) {
              if (targetObj[key] == undefined) {
                targetObj[key] = prop instanceof Array ? [] : {};
              }
              this.mergeObject(targetObj[key], sourceObj[key], defaultObj[key]);
            } else {
              if (sourceObj && sourceObj[key]) {
                targetObj[key] = sourceObj[key];
              } else {
                targetObj[key] = defaultObj[key];
              }
            }
          }
        } else if (defaultObj instanceof Array) {
          defaultObj.forEach(targetSubObj => {
            this.mergeObject(targetSubObj, sourceObj, defaultObj);
          });
        }
      }

    本文来自博客园,作者:广林,转载请注明原文链接:https://www.cnblogs.com/guanglin/p/14654745.html

  • 相关阅读:
    os.remove some jpgs
    shutil.rmtree, os.path, delete sub-folders, format
    How to create folder
    valgrind
    gstream
    TP TN FP FN
    tensor flow
    接口中静态方法和默认方法
    JAVA基础09
    JAVA基础08
  • 原文地址:https://www.cnblogs.com/guanglin/p/14654745.html
Copyright © 2011-2022 走看看