// objA (原型对象,包含所有键值,要求合并后的对象和此对象结构一致)
objA = {
a:'',
b:[],
c:{
c1: '',
c2: [],
c3: {
c31:'',
c32:[],
c33:{}
}
}
}
// objB包含objA的某些键值,比如
objB = {
c:{
c3:{
c32:['apple']
}
}
}
要求objB中的值赋值给objA,并保留完整的objA的结构
// 例 合并后如下:
objC = {
a:'',
b:[],
c:{
c1: '',
c2: [],
c3: {
c31:'',
c32:['apple'],
c33:{}
}
}
}
使用Object.assign()方法合并对象的话,会造成有些ObjB中没有的键值被合并掉,造成结构和ObjA结构缺失的情况,请问改如何处理?
不想自己写直接搜了个,你还可以自定义下数组的操作,该函数是直接后者覆盖前者。
引自 How can I merge properties of two JavaScript objects dynamically?