对于深拷贝,最容易也应该是常见的方法是使用JSON.parse() + JSON.stringify(),还有一个借助第三方脚本库 lodash ,其中方法cloneDeep可以实现深拷贝。现在可以使用原生的structuredClone()方法。
对于深拷贝,最容易也应该是常见的方法是使用 JSON.parse() + JSON.stringify() ,还有一个借助第三方脚本库 lodash ,其中方法 cloneDeep 可以实现深拷贝。现在可以使用原生的 structuredClone() 方法。 浅拷贝与深拷贝首先,先来了解一下浅拷贝和深拷贝的区别:
使用 structuredClone 进行深拷贝原生 structuredClone() 方法使用结构化克隆算法创建给定值的深层拷贝。 结构化克隆算法用于复制复杂 JavaScript 对象的算法。通过来自 Worker 的 postMessage() 或使用 IndexedDB 存储对象时在内部使用。它通过递归输入对象来构建克隆,同时保持先前访问过的引用的映射,以避免无限遍历循环。 语法如下:
返回值:返回值是原始值的深拷贝。 下面是示例代码:
正如在此代码片段中所见:
structuredClone() 现在可在所有主流浏览器和运行时(如 Node.js 或 Deno)的最新版本中使用。 |
2021-06-04
2019-01-10
2019-02-17
2021-09-12
2021-09-30