JS对象深拷贝的常用方案

admin 173 0

情景引入

我们使用JavaScript进行业务开发时候,常常会遇到这个问题。比如拿来后端传来的数据,进行一些比较复杂的加工处理,比如组装等等操作,很容易遇到这个问题。

再开发过程深拷贝一般还有多种情况,总结如下:

var obj = {
    name: 'shen'
}

var obj2 = {
    innner: {
        name: 'shen'
    }
}

拷贝对象之后,内部的对象也需要拷贝。

我之前采用 Object.assign() 处理,结果第二种拷贝失败了,深层次的对象需要进行遍历再拷贝。

解决方案

  • 递归assign进行拷贝处理

  • 使用ES6结构赋值处理(听名字就知道,是赋值!)

  • 使用lodash处理


个人就比较莽了,直接用lodash就好了- -

let obj3 = _.cloneDeep(obj2);


标签: 前端 javascript 拷贝 es6

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~