你好,我有一個「hello」數組和「」裏面的空字符串「」。問題是我希望能夠在數組中打印5次hello字符串,但是我正在運行一個無限循環。我設置了隨機函數和一個計數器,因爲我並不總是想知道我會得到什麼參數,但結果應該是相同的:打印5次「hello」。遞歸函數,直到計數器等於5無限循環
這是我的代碼:
var a = ["hello", ""];
var randomValue = a[Math.floor(a.length * Math.random())];
function toresult(param){
let counter= 1;
if(param.length >=3 && counter <= 5){
console.log(param)
counter +=1
//If I place the function here I would run into the infinite loop: toresult(randomValue)
} else{
console.log("empty string PRINTED")
}
}
toresult(randomValue)
是否有一個原因,你沒有使用實際的'for'循環? – larz
發生無限循環是因爲您沒有提供退出子句。現在您每次調用函數時都會重新定義計數器變量。這是你需要解決的部分。如果它沒有傳遞給函數,你可以通過初始化來解決這個問題。 – scrappedcola
@scrappedcola你應該只是回答,這是正確的答案,計數器需要在函數之外。 – Andrew