前端:对象数组深拷贝

在写项目代码的时候,忽略了对象深拷贝的问题,致使了一个让人迷惑的复制bug; 今日以此留code,但愿下次不在有这个问题致使的bug;数组

深拷贝

/**
 * @description 对象数组深拷贝
 * */
const deepClone=function(obj){
    let objClone = Array.isArray(obj)?[]:{};
    if(obj && typeof obj==="object"){
        for(var key in obj){
            if(obj.hasOwnProperty(key)){
                //判断ojb子元素是否为对象,若是是,递归复制
                if(obj[key]&&typeof obj[key] ==="object"){
                    objClone[key] = deepClone(obj[key]);
                }else{
                    //若是不是,简单复制
                    objClone[key] = obj[key];
                }
            }
        }
    }
    return objClone;
}复制代码
相关文章
相关标签/搜索