现有两个对象:我想通过deepMerge(obj1, obj2)以后最终能得到(要用原生js):这个题目想了很久没想出来怎么解,也想过用递归和Object.assign但是得不到想要的结果,希望大神指点指点。
1 回答
MMTTMM
TA贡献1869条经验 获得超4个赞
function deepMerge(obj1, obj2) {
var key;
for(key in obj2) {
// 如果target(也就是obj1[key])存在,且是对象的话再去调用deepMerge,否则就是obj1[key]里面没这个对象,需要与obj2[key]合并
obj1[key] = obj1[key] && obj1[key].toString() === "[object Object]" ?
deepMerge(obj1[key], obj2[key]) : obj1[key] = obj2[key];
}
return obj1;
}
添加回答
举报
0/150
提交
取消