首页 > 解决方案 > 如何将对象与模型对象匹配并创建缺失的属性

问题描述

如何将对象与模型对象匹配以使对象的形状与模型对象相同。例如 模型对象是这个

{
  bg:{padding:0,fontSize:0},
  label:{padding:0, bg:''},
  font:{fontSize:0}
}

这是其他对象的示例

{
  bg:{padding:5},
  label:{ bg:'something'},
}

因此,当我们将下面的对象与模型一匹配时,下面的对象应该是这样的

 {
  bg:{padding:5,fontSize:0},
  label:{padding:0, bg:'something'},
  font:{fontSize:0}
  }

标签: javascripttypescript

解决方案


您可以应用于for..in您的对象并合并两个数据:

const obj= {
  bg:{padding:0,fontSize:0},
  label:{padding:0, bg:''},
  font:{fontSize:0}
};

const newObj={
  bg:{padding:5},
  label:{ bg:'something'},
};


const getNewObj=(previous,current)=>{
   for(let o in previous){
    previous[o]={...previous[o], ...current[o]}
};
return previous;
};

console.log(getNewObj(obj, newObj))


推荐阅读