我有一个对象
var general = {
'primary_color': {'value': undefined},
'logo': {'value': undefined},
},
当我从服务器接收数据时,我会收到类似这样的内容
var response = {
'primary_color': {'value': '#DDD'},
'logo': null,
},
我想知道是否有任何一个衬里功能使用将我的结构转换为
var result = {
'primary_color': {'value': '#DDD'},
'logo': {'value': undefined},
},
答案 0 :(得分:1)
您可以使用_.mergeWith()
执行此操作,方法是使用_.isNil()
定义当前值为null
或undefined
时应返回的值:
var general = { 'primary_color': {'value': undefined}, 'logo': {'value': undefined} };
var response = { 'primary_color': {'value': '#DDD'}, 'logo': null };
var result = _.mergeWith({}, general, response, function(objValue, srcValue) {
if(_.isNil(objValue)) {
return srcValue;
}
if(_.isNil(srcValue)) {
return objValue;
}
});
console.log(result);

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
&#13;