1
我正在練習使用遞歸函數來解決一些簡單的javascript問題。javascript中的遞歸函數問題
我遇到了一個問題,用下面的代碼,
var locate = function(arr,value){
for (var i=0; i <arr.length; i++) {
if(typeof arr[i]=== "string") {
console.log("string is string");
if(arr[i]=== value) {
console.log("This should be true");
return true;
}
}
else {
locate(arr[i], value);
}
}
}
console.log(locate(['d', 'a',['e', 'g']], 'e'));
我不能讓這個程序返回true。它到達代碼的右邊部分,因爲它會打印上面的語句。
任何幫助,將不勝感激。我現在一直在嘲笑我的頭幾個小時。
Edit- @ Matt Burland指出了在調用遞歸時需要包含return語句的事實。
這是什麼返回什麼呢? – 2014-10-27 20:58:55
@LogicArtist:'undefined' – 2014-10-27 21:02:02