2、js 深拷贝

zhyuzh3d

关注

阅读 61

2022-04-08

深拷贝

function deepClone(obj) {
    // 判断是否是引用类型 如果不是直接返回
    if(typeof obj !== 'object'|| obj==null)
        return obj
    let result;
    // 判断是数组还是对象
    if(obj instanceof Array){
        result = []
    }else{
        result = {}
    }
    for(let key in obj){
        // 保证key不是原型属性
        if(obj.hasOwnProperty(key)){
            // 判断下一级是否还是引用类型
            result[key] = deepClone(obj[key])
        }
    }
    return result;
}

精彩评论(0)

0 0 举报