我有一个对象数组(来自一个类),它是组件的属性,并且是一个将其作为参数的函数。
myFunc(MyClass[][]) {...}
在另一个函数中,我修改了这个数组数组。但有时我想撤消更改。我试图像这样复制它:
let temp = myArray.map(line => Object.assign([], line.map(obj => Object.assign({}, obj))));
当我登录控制台时,它是相同的。然后,如果需要撤消更改,则用副本替换属性。但是当调用myFunc时,我得到了:
ERROR TypeError: "myFunc is not a function"
当我不使用副本时,该功能运行良好。 为什么会发生?
答案 0 :(得分:0)
您仅复制了参考。您需要将数组复制到新引用。
const copyOfArray = [...originalObject];