javascript - 如何将对象与模型对象匹配并创建缺失的属性
问题描述
如何将对象与模型对象匹配以使对象的形状与模型对象相同。例如 模型对象是这个
{
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}
}
解决方案
您可以应用于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))
推荐阅读
- php - 如何从我的数据库中获取一个值并使用 cookie 或类似方法在页面上显示它?
- r - 如何从R中的分组列制作单个直方图
- angular - Angular6 中的自定义组件未重新调整:错误
- sql - 负数值和末尾的负号。需要一个表达式来格式化从数值末尾到前面的负号
- asp.net - 现有 asp.net mvc 项目的身份验证
- docker - Docker 容器最初退出
- php - Yii createCommand 更新多条记录字符串的一部分
- javascript - Cordova Media Capture.CaptureAudio -“错误代码:未定义”
- node.js - 使用 Webpack 将 Nodejs 代码与 node_modules 捆绑在一起
- jquery - 剥离所有属性和样式的代码