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)) 

posted on 2018-04-25 11:42  Newbies  阅读(86)  评论(0)    收藏  举报

导航