第一种:先将数组转换为字符串,在通过parse转成对象,用新数组接收
let list = [
{name:1,age:20},
{name:2,age:21},
[{name:33,age:100}]
]
let newList = JSON.parse(JSON.stringify(list));
第二种:
//标准的深拷贝
function deepClone(source) {
const targetObj = source.constructor === Array ? [] : {}; //创建临时容器
for (let key in source) {
if(source.hasOwnProperty(keys)) {
if(source[keys] && typeof source[keys] === 'object') {//判断引用数据类型
targetObj[keys] = deepClone(source[keys]);
} else {//基本数据类型 直接赋值
targetObj[keys] = source[keys];
}
}
}
return targetObj;
}