如何正确复制javascript中的对象?

时间:2018-01-15 13:13:28

标签: javascript

我正在尝试使用扩展运算符复制其他对象,但是当我从复制对象中的数组更改一个项目时,原始更改为。任何人都知道如何才能在对象2中进行更改?

按照一个简单的例子:

let obj1 = { a:'hello', b:'hi', c: [1,2,3] }
let obj2 = { ...obj1 }
obj2.c[1] = 44 

1 个答案:

答案 0 :(得分:0)

最常见且最安全的方法是通过Object.assign():

let clone = Object.assign({}, myObj);

它创建一个浅拷贝,如果你想要一个深拷贝,你可以使用lodash deepClone(),或者自己写一个递归的克隆。