Skip to content

deepClone 递归拷贝复杂类型数据

提示

当我们将一个对象(变量A)赋值给另一个变量(变量B)时,修改变量B,因为对象引用的特性,导致A也同时被修改,所以有时候我们需要将A克隆给B,这样修改B的时候,就不会 导致A也被修改。

深度递归

deepClone(source)

  • source <Object> 对象或数组
javascript
import { deepClone } from "hy-app";

const oldObj = {
    name: "旧数据"
}

// 浅拷贝
newObj.name = "新数据";
console.log(oldObj); // 打印出name是“新数据”
console.log(newObj); // 打印出name是“新数据”

// 深拷贝
const newObj = deepClone(oldObj);
newObj.name = "新数据";

console.log(oldObj); // 打印出name是“旧数据”
console.log(newObj); // 打印出name是“新数据”