网站优化

网站优化

Products

当前位置:首页 > 网站优化 >

学习JS深拷贝,轻松实现复杂对象复制,提升编程效率?

GG网络技术分享 2025-11-12 17:49 4


在JavaScript中, 对象的深厚拷贝和浅薄拷贝是两种关键的数据复制方式,它们在处理麻烦对象时扮演着关键角色呃。下面将详细介绍这两种拷贝方式,并给出相应的实现方法。

浅薄拷贝

浅薄拷贝只会复制对象的第一层属性, Ru果属性值是引用类型,那么新鲜对象和原对象将共享这些个引用。

实现浅薄拷贝的几种方法:

  1. 用展开运算符: javascript let obj1 = { a: 1, b: { c: 2 } }; let obj2 = { ...obj1 };

  2. Object.assign方法: javascript let obj1 = { a: 1, b: { c: 2 } }; let obj2 = Object.assign;

  3. Array.prototype.slice方法: javascript let arr1 = ]; let arr2 = arr1.slice;

深厚拷贝

深厚拷贝会递归地复制对象的全部属性, 包括嵌套的引用类型,确保新鲜对象与原对象彻头彻尾独立。

  1. JSON.parse) javascript let obj1 = { a: 1, b: { c: 2 } }; let obj2 = JSON.parse);

  2. 手写深厚拷贝函数: javascript function deepCopy { if { return obj; } let newObj = Array.isArray ? : {}; for { if ) { newObj = deepCopy; } } return newObj; }

  3. 用第三方库: javascript let _ = require; let obj1 = { a: 1, b: { c: 2 } }; let obj2 = _.cloneDeep;

  • 浅薄拷贝适用于只需要复制对象第一层属性的场景, 当属性值是基本类型时不会关系到原对象。
  • 深厚拷贝适用于需要彻头彻尾复制对象及其全部属性的场景,包括嵌套的引用类型。

在实际应用中,应根据具体需求选择合适的拷贝方式。

标签:

提交需求或反馈

Demand feedback