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