Typescript 只有lodash可以深度复制对象吗?

Typescript 只有lodash可以深度复制对象吗?,typescript,Typescript,我有一个可以创建图表的大对象,里面包含函数、对象数组等 在某些情况下,我想深度复制该对象 我上网找了一个深度克隆库,结果只找到了2个 这是一个节点库,我无法在项目中正确导入,因为它会触发 只能使用“allowSyntheticDefaultImports”标志导入默认值,我无法更改该标志 或者洛达斯 但是,为lodash安装依赖项,并且只使用lodash/cloneDeep,听起来太过分了 难道没有别的办法吗?或者如何在不更改tsconfig标志的情况下解决导入问题。如果您不想安装所有lodas

我有一个可以创建图表的大对象,里面包含函数、对象数组等

在某些情况下,我想深度复制该对象

我上网找了一个深度克隆库,结果只找到了2个

这是一个节点库,我无法在项目中正确导入,因为它会触发

只能使用“allowSyntheticDefaultImports”标志导入默认值,我无法更改该标志

或者洛达斯

但是,为lodash安装依赖项,并且只使用lodash/cloneDeep,听起来太过分了


难道没有别的办法吗?或者如何在不更改tsconfig标志的情况下解决导入问题。

如果您不想安装所有lodash,它们具有每个方法的模块化版本

我也会考虑安装所有的住宿。它有更多的功能,你可能会觉得有用。一些lodash函数已经在JavaScript中有了替代方案,但您将看到lodash的版本使事情变得更简单。例如,JavaScript有一个函数,但lodash有一个函数,这使得按对象属性排序更简单

无论如何,如果您希望使用纯JavaScript函数进行深度克隆,我使用了以下方法:

const object_b = JSON.parse(JSON.stringify(object_a))

它可以在简单的情况下完成任务,但会因周期或无法序列化为JSON的对象(如
Set

)而失败。如果您不想安装所有lodash,则每个方法都有模块化版本

我也会考虑安装所有的住宿。它有更多的功能,你可能会觉得有用。一些lodash函数已经在JavaScript中有了替代方案,但您将看到lodash的版本使事情变得更简单。例如,JavaScript有一个函数,但lodash有一个函数,这使得按对象属性排序更简单

无论如何,如果您希望使用纯JavaScript函数进行深度克隆,我使用了以下方法:

const object_b = JSON.parse(JSON.stringify(object_a))

它可以在简单的情况下完成任务,但是如果循环失败,或者对象不能序列化为JSON,比如
Set

我知道lodash可以做什么,但是为我需要的一个函数安装这样的库就太过分了。模块化版本与clode deep相同,它需要使用
allowSyntheticDefaultImports
导入,我知道lodash可以做什么,但仅为我需要的一个函数安装这样的库是多余的。模块化版本与clode deep相同,需要使用
allowSyntheticDefaultImports