我如何创建一个递归函数,可以在列表中搜索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;
}
提前谢谢
答案 0 :(得分:1)
试试这个
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