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);
      });
    }
  }

相关文章:

  • 2021-10-18
  • 2021-08-28
  • 2023-04-06
  • 2021-07-14
  • 2021-11-08
  • 2021-05-31
  • 2021-12-23
  • 2022-01-26
猜你喜欢
  • 2022-12-23
  • 2021-08-14
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案