javascript 两个对象深度合并

对象深度合并,使用到递归

 两个对象有时需要合并成一个对象并传递给后端,那要如何合并?

两个a, b对象 将b对象合并到a对象中

deepMerge方法使用如下:

let form = {
    a:1,
    b:2,
    c:{
        c1:9,
        c3:10
    }
};
let formSubmitData = {
    b:6,
    d:3,
    e:4,
    c:{
        c1:7,
        c2:8
    }
};
let newForm;

// 对象深度合并
  function deepMergeFun(obj1, obj2) {
    let _this = this
    for (let key in obj2) {
      obj1[key] = obj1[key] && obj1[key].toString() === "[object Object]" ? _this.deepMerge(obj1[key], obj2[key]) : obj1[key] = obj2[key]
    }
    return obj1
  }

//调用
newForm = deepMergeFun(form, formSubmitData);
console.log(newForm)


newForm得值:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值