js 深度克隆变量
一维变量
let objs = obj.assign({},o);
二维到多维
let deepCopy = ( obj , cache = [] ) => {
if( obj === null || typeof obj !== 'object' ){
return obj
}
const hit = find( cache , c => c.original === obj )
if( hit ){
return hit.copy
}
const copy = Array.isArray( obj ) ? [] : {}
cache.push[{
original : obj,
copy
}]
Object.keys( obj ).forEach( key => {
copy[ key ] = deepCopy( obj[ key] , cache )
})
return copy
}
有什么不同见解可以在评论区共同讨论