let arr = [1,2,[3,4],[5,6,[7,8]]]
let obj = {name:'wl',info:{age:23,name:'wl'},job:['stu']}
function deepCopy(obj){
if(typeof obj != 'object')return
let objType = obj.constructor.toString()
if(objType.indexOf('Array')>-1){
let arr = []
obj.forEach(item => {
if(typeof(item)!='object'){
arr.push(item)
}else{
arr.push(deepCopy(item))
}
});
return arr
}else if(objType.indexOf('Object')>-1){
let o = {}
let objKeys = Object.keys(obj)
objKeys.forEach(item=>{
if(typeof(obj[item])!='object'){
o[item] = obj[item]
}else{
o[item] = deepCopy(obj[item])
}
})
return o
}
}
console.log(deepCopy(arr));
console.log(deepCopy(obj));