seo网站内容优化有哪些,wordpress 分类 列表页,网站后台验证码出不来,wordpress顶部图片#工作中拷贝对象是常有的事#xff0c;我们需要分清楚深浅拷贝#xff0c;一般来说要做的都是深拷贝#xff0c;不然会有关联影响#
解构赋值
es6新语法#xff0c;简洁是简洁#xff0c;但是需要注意深拷贝只针对第一层
使用方式#xff1a;{...obj}
let stu {name:…#工作中拷贝对象是常有的事我们需要分清楚深浅拷贝一般来说要做的都是深拷贝不然会有关联影响#
解构赋值
es6新语法简洁是简洁但是需要注意深拷贝只针对第一层
使用方式{...obj}
let stu {name: aaa,age: 18,info: {grade: 5,class: 4,},say: function() {console.log(hello);}
}let stu1 {...stu};
stu1.info.grade 2;
这里原对象的grade也会被更改 JSON.parse()和JSON.stringify()
let stu2 JSON.parse(JSON.stringify(stu))
console.log(stu2) // { name: aaa, age: 18, info: { grade: 2, class: 4 } }
无法复制函数因为函数不是JSON格式的一部分 递归复制
function deepCopy(obj) {// 处理原始类型和nullif (typeof obj ! object || obj null) return obj;// 如果是对象或数组则创建新对象let newObj;if (Array.isArray(obj)) {newObj [];} else {newObj {};}// 遍历原始对象的所有属性并对每个属性执行深拷贝for (let key in obj) {newObj[key] deepCopy(obj[key]);}return newObj;
}
let stu3 deepCopy(stu);
前面两种方式的缺陷都弥补了但这么写实在是有点繁琐而且其实还需要完善哈哈哈 lodash.cloneDeep
终极爸爸来了借助工具
const lodash require(lodash);let stu4 lodash.cloneDeep(stu)
简洁的不能再简洁了记得要先安装一下依赖噢~