打字稿如何在没有引用的情况下复制对象

A. *_*kiy 6 typescript angular

我有一个对象

item = { selectedItems: [] };
Run Code Online (Sandbox Code Playgroud)

我做了:

item1 = { ...item };
item2 = Object.assign({}, item);
item3 = Object.create(item);
Run Code Online (Sandbox Code Playgroud)

但当我改变时selectedItemsitem1所有项目都会改变。这是有角度的项目有什么问题吗?或者什么是正确的方法?还是浏览器缓存?我不明白

Aki*_*dic 16

您需要一个深层副本,例如:

let newItem = JSON.parse(JSON.stringify(item));
Run Code Online (Sandbox Code Playgroud)