我该如何创建一个递归函数来在列表中搜索 x = 10 的节点?
我没有任何 JavaScript 经验,所以我不知道从哪里开始,所以我会感激并输入
我遇到了以下代码并尝试对其进行修改,但我不确定我是否走在正确的轨道上:
function search(_for, _in) {
var r;
for (var p in _in) {
if ( p === 10 ) {
return _in[p];
}
if ( typeof _in[p] === 'object' ) {
if ( (r = search(_for, _in[p])) !== null ) {
return r;
}
}
}
return null;
}
提前谢谢
最佳答案
试试这个
var finder = function(needle, haystack) {
if (haystack.length == 0)
return false
if (haystack[0] == needle)
return true
return finder(pin, haystack.slice(1))
}
或者
var finder = function(pin, haystack) {
return (haystack[0] == pin) || (haystack.length != 0) && finder(pin, haystack.slice(1))
}
递归FTW
关于javascript - 递归函数进行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27472214/