实现浅拷贝方法
const a = { name: '王五', age: 78,sex:'男'}
const b = {}for (let key in a){
b[key] = a[key]
}
console.log(b) // { name: '王五', age: 78 ,sex:'男'}
实现浅深拷贝方法
functiondeepClone(target){// 基本数据类型直接返回
if(typeoftarget !=='object') {
returntarget }// 引用数据类型特殊处理
// 判断数组还是对象
consttemp =Array.isArray(target) ? [] : {}
for(constkeyintarget) {// 递归
temp[key] = deepClone(target[key]) }
returntemp
}
consta = {name:'sunshine_lin',age:23,hobbies: {sports:'篮球',tv:'雍正王朝'},works: ['2020','2021']}
constb = deepClone(a)
console.log(b) //{// name: 'sunshine_lin',// age: 23,// hobbies: { sports: '篮球', tv: '雍正王朝' },
// works: ['2020', '2021']// }
console.log(b === a)// false