Products
GG网络技术分享 2025-11-12 17:49 4
在JavaScript中, 对象的深厚拷贝和浅薄拷贝是两种关键的数据复制方式,它们在处理麻烦对象时扮演着关键角色呃。下面将详细介绍这两种拷贝方式,并给出相应的实现方法。
浅薄拷贝只会复制对象的第一层属性, Ru果属性值是引用类型,那么新鲜对象和原对象将共享这些个引用。

实现浅薄拷贝的几种方法:
用展开运算符:
javascript
let obj1 = { a: 1, b: { c: 2 } };
let obj2 = { ...obj1 };
用Object.assign方法:
javascript
let obj1 = { a: 1, b: { c: 2 } };
let obj2 = Object.assign;
用Array.prototype.slice方法:
javascript
let arr1 = ];
let arr2 = arr1.slice;
深厚拷贝会递归地复制对象的全部属性, 包括嵌套的引用类型,确保新鲜对象与原对象彻头彻尾独立。
用JSON.parse)
javascript
let obj1 = { a: 1, b: { c: 2 } };
let obj2 = JSON.parse);
手写深厚拷贝函数:
javascript
function deepCopy {
if {
return obj;
}
let newObj = Array.isArray ? : {};
for {
if ) {
newObj = deepCopy;
}
}
return newObj;
}
用第三方库:
javascript
let _ = require;
let obj1 = { a: 1, b: { c: 2 } };
let obj2 = _.cloneDeep;
在实际应用中,应根据具体需求选择合适的拷贝方式。
Demand feedback