黑馬程序員前端JavaScript入門到精通全套視頻教程,javascript核

各位老哥,我有一個問題解不出來。是在P189的深層拷貝中,我自己寫了一個遞歸函數(shù),但是在陣列的複製中沒辦法完整複製,我邏輯卡住了,拜託哪個大哥可以幫幫我,以下是我的script程式碼,問題主要是在habbit的football會消失
<script> ? ? ?
? ? ? ? const obj = {
? ? ? ? ? ? name : 'ABC',
? ? ? ? ? ? age : 18,
? ? ? ? ? ? habbit : ['baseball', 'football', ['genshin', 'princess']],
? ? ? ? ? ? family : {
? ? ? ? ? ? ? ? son : 'sp',
? ? ? ? ? ? ? ? father:'fa'
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? //1. 自己寫遞歸函數(shù)
? ? ? ? const newObj = {}
? ? ? ? function deepCopy(obj, newObj){
? ? ? ? ? ? for(k in obj){
? ? ? ? ? ? ? ? if(obj[k] instanceof Array){ ?
? ? ? ? ? ? ? ? ? ? const arr = []
? ? ? ? ? ? ? ? ? ? deepCopy(obj[k], arr)
? ? ? ? ? ? ? ? ? ? newObj[k] = arr
? ? ? ? ? ? ? ? }else if(obj[k] instanceof Object){
? ? ? ? ? ? ? ? ? ? const oo = {}
? ? ? ? ? ? ? ? ? ? deepCopy(obj[k], oo)
? ? ? ? ? ? ? ? ? ? newObj[k] = oo
? ? ? ? ? ? ? ? }else{ ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? newObj[k] = obj[k]
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ?
? ? ? ? ? ? }
? ? ? ? ? ?
? ? ? ? }
? ? ? ? deepCopy(obj,newObj)
? ? ? ? console.log(newObj)
? ? </script>