js 深拷贝的使用方法
时间: 2024-06-13 15:09:42 浏览: 64
以下是JS实现数组深拷贝的两种方法:
1.使用JSON.parse()和JSON.stringify()方法
```javascript
let arr1 = [1, 2, [3, 4]];
let arr2 = JSON.parse(JSON.stringify(arr1));
arr2[2][0] = 5;
console.log(arr1); // 输出:[1, 2, [3, 4]]
console.log(arr2); // 输出:[1, 2, [5, 4]]
```
2.使用递归实现深拷贝
```javascript
function deepClone(obj) {
if (typeof obj !== 'object' || obj === null) {
return obj;
}
let result = Array.isArray(obj) ? [] : {};
for (let key in obj) {
if (Object.prototype.hasOwnProperty.call(obj, key)) {
result[key] = deepClone(obj[key]);
}
}
return result;
}
let arr1 = [1, 2, [3, 4]];
let arr2 = deepClone(arr1);
arr2[2][0] = 5;
console.log(arr1); // 输出:[1, 2, [3, 4]]
console.log(arr2); // 输出:[1, 2, [5, 4]]
```
阅读全文