js的深克隆

Posted 小顺石

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js的深克隆相关的知识,希望对你有一定的参考价值。

js的深克隆

const deepClone = (data)=>{
    let Obj = Array.isArray(data)?[]:{}
    for(let key in data){
        if(typeof data[key]===\'object\'){
            Obj[key] = deepClone(data[key])
        }else{
            Obj[key]= data[key]
        }
    }
    return Obj
}
let aa = {
    data:{
        name:\'song\'
    },
    age:18
}
let bb = deepClone(aa)
console.log(bb)
bb.data.name = \'yan\'

bb.age = 28
console.log(aa)
console.log(bb)

//{ data: { name: \'song\' }, age: 18 }
//{ data: { name: \'song\' }, age: 18 }
//{ data: { name: \'yan\' }, age: 28 }

以上是关于js的深克隆的主要内容,如果未能解决你的问题,请参考以下文章

面试题

Java中的深克隆和浅克隆

原型模式中的深克隆和浅克隆

原型模式中的深克隆和浅克隆

JS----对象的合并与克隆与数组的深浅克隆

如何制作 BitmapDrawable 的深拷贝?