1. 程式人生 > >深拷貝 實現

深拷貝 實現

tostring || targe style 定義 == array return tty

深度拷貝的實現

//1. 判斷數據的類型
function
checkType(target){ return Object.prototype.toString.call(target).slice(8,-1) } //2.定義拷貝函數 function clone(target){ let result,targetType =checkType(target); if( targetType===‘Object‘){ result = {}; }else if(targetType ==="Array"){ result
= []; }else{ return target; } //遍歷數據結構中的每一項值 for(let i in target){ let value = target[i] if(checkType(value)===‘Object‘ || checkType(value)===‘Arrary‘){ //繼續遍歷獲取到的值 clone(value) }else{ result=value } }
return result; }

深拷貝 實現