js实现深拷贝数组对象的几种方式
深拷贝方法
function deepClone (obj) {
let objClone = Array.isArray(obj) ? [] : {};
if (obj && typeof obj === "object") {
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
//判断ojb子元素是否为对象,如果是,递归复制
if (obj[key] && typeof obj[key] === "object") {
objClone[key] = deepClone(obj[key]);
} else {
//如果不是,简单复制
objClone[key] = obj[key];
}
}
}
}
return objClone;
};
const arr4 = {name:'小李',age:20}
//深拷贝
//第一种
const arr5 =Object.assign({},arr4)
//第二种
const arr5 = {...arr4}
//第三种
const arr5 = deepClone(arr4)
arr4.name = arr4.age
console.log(arr4)
console.log(arr5)
原文地址:https://blog.csdn.net/m0_61265297/article/details/142529849
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!