js深拷贝方式

39 阅读1分钟

递归函数深拷贝

function cp(obj){
    let newobj=null
    if(typeof obj=='object' && obj!==null){
        newobj=Array.isArray(obj)?[]:{}
        for(let k in obj){
            if(obj.hasOwnProperty(k)){
                newobj[k]=cp(obj[k])
            }
        }
        return newobj
    }else{
        return obj
    }
}

json方式深拷贝

let obj={}
let newobj=JSON.parse(JSON.stringify(obj))