亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js 使用循環遞歸為什么無限循環了?各位有什么建議?

js 使用循環遞歸為什么無限循環了?各位有什么建議?

DIEA 2019-06-19 09:15:48
我根據對象中的code與數組中的做對比,然后成立的再執行一遍,可是只有兩個能成立啊也就執行兩回,怎么就無限循環了functiona(){for(leti=0;i
查看完整描述

2 回答

?
慕的地6264312

TA貢獻1817條經驗 獲得超6個贊

因為你沒有已判斷過的標記出來,導致每次執行a()方法時,都會拿到那個code,然后進入到if判斷中。
你可以把已匹配到的arr[i]中的code設置為另一個變量,下次匹配時就匹配不到了,例如:
if(newCode===arr[i].code){
arr[i].code='#';
arr1.push(arr[i])
console.log(arr1)
a()
}
而且,你這個好像不用遞歸吧,直接一個循環就搞定了
                            
查看完整回答
反對 回復 2019-06-19
?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

按你說的這種要求,并不需要遞歸
functiona(){
for(leti=0;ilet{code}=obj
code=code.substring(0,code.length-1)
if(code===arr[i].code){
arr1.push(arr[i])
}
}
}
a()
console.log(arr1)
遞歸無限循環,是因為沒有設置終止條件。
                            
查看完整回答
反對 回復 2019-06-19
  • 2 回答
  • 0 關注
  • 403 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號