Javascript 如何从.find JS返回副本?

Javascript 如何从.find JS返回副本?,javascript,Javascript,我有以下代码: let a = this.menu.getMenuItems().find((item) => item.$entityType === val); let b = Object.assign({}, a); this.dictChildren = b.children.map((item) => { }); 首先,我尝试在数组中查找元素,然后创建副本 在我尝试使用map()修改找到的元素之后 let b = Object.assign({}, a); 它修

我有以下代码:

let a =  this.menu.getMenuItems().find((item) => item.$entityType === val);
let b = Object.assign({}, a);

this.dictChildren = b.children.map((item) => {
});
首先,我尝试在数组中查找元素,然后创建副本

在我尝试使用
map()
修改找到的元素之后

 let b = Object.assign({}, a);
它修改原始数组


如何映射仅复制对象b?

对象。assign
创建浅拷贝而不是深拷贝。

您需要对对象进行深拷贝。如何执行此操作?NinaScholz方便地链接了副本,解释了如何以最有效的方式执行此操作,您应该检查它: