实现浅拷贝和深拷贝

实现浅拷贝方法

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容