一、数组深拷贝的4种方法
1. 使用JSON.parse()和JSON.stringify():
const arr1 = [1, 2, 3, 4];
const arr2 = JSON.parse(JSON.stringify(arr1));
2. 使用Array.from():
const arr1 = [1, 2, 3, 4];
const arr2 = Array.from(arr1);
3. 使用扩展运算符:
const arr1 = [1, 2, 3, 4];
const arr2 = [...arr1];
4. 使用Array.map():
const arr1 = [1, 2, 3, 4];
const arr2 = arr1.map(item => item);
二、对象深拷贝的4种方法
1. 使用JSON.parse()和JSON.stringify():
// 首先定义一个对象
let obj = {
name: 'tom',
age: 18
};
// 实现深拷贝
let deepCopy = JSON.parse(JSON.stringify(obj));
2. 使用Object.assign():
// 定义一个对象
let obj = {
name: 'tom',
age: 19
};
// 深拷贝文章来源:https://www.toymoban.com/news/detail-623399.html
let deepCopy = Object.assign({}, obj);
3. 使用ES6的扩展运算符:
// 定义一个对象
let obj = {
name: 'tom',
age: 20
};
// 深拷贝
let deepCopy = {...obj};
4. 使用lodash的cloneDeep():
// 定义一个对象
let obj = {
name: 'tom',
age: 21
};
// 引入lodash
import _ from 'lodash';
// 深拷贝
let deepCopy = _.cloneDeep(obj);文章来源地址https://www.toymoban.com/news/detail-623399.html
到了这里,关于JS中实现数组和对象深拷贝的4种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!