js深拷贝
1 var china = { 2 nation : '中国', 3 birthplaces:['北京','上海','广州'], 4 skincolr :'yellow', 5 friends:['sk','ls'] 6 } 7 //深复制,要想达到深复制就需要用递归 8 function deepCopy(o,c){ 9 var c = c || {} 10 for(var i in o){ 11 if(typeof o[i] === 'object'){ 12 //要考虑深复制问题了 13 if(o[i].constructor === Array){ 14 //这是数组 15 c[i] =[] 16 }else{ 17 //这是对象 18 c[i] = {} 19 } 20 deepCopy(o[i],c[i]) 21 }else{ 22 c[i] = o[i] 23 } 24 } 25 return c 26 } 27 var result = {name:'result'} 28 result = deepCopy(china,result) 29 console.dir(result)
黑科技:
1 let data = JSON.parse(JSON.stringify(china))
浙公网安备 33010602011771号