深拷貝 實現
阿新 • • 發佈:2019-03-07
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; }
深拷貝 實現