我正在尝试使用扩展运算符复制其他对象,但是当我从复制对象中的数组更改一个项目时,原始更改为。任何人都知道如何才能在对象2中进行更改?
按照一个简单的例子:
let obj1 = { a:'hello', b:'hi', c: [1,2,3] }
let obj2 = { ...obj1 }
obj2.c[1] = 44
答案 0 :(得分:0)
最常见且最安全的方法是通过Object.assign():
let clone = Object.assign({}, myObj);
它创建一个浅拷贝,如果你想要一个深拷贝,你可以使用lodash deepClone(),或者自己写一个递归的克隆。