所以我对递归函数不是超级有经验,但理想情况下,这个函数将搜索任意深度的对象以查找特定的子对象并返回它,但由于某种原因,当我return r;
得到 r = undefined
.
function search(_for, _in) {
var r;
for (var p in _in) {
// is a match
if (p == _for) {
console.log("MATCH");
r = _in[_for];
break;
}
// if not a match but has children
if (p != _for && nodeCount(_in[p]) > 0 && r == false) {
console.log("RECURSE INTO " + p);
r = search(_for, _in[p]);
}
}
return r;
}
谢谢。