Javascript 完好无损地返回
返回不工作的条件。尽管console.log工作正常。问题是函数总是返回falseJavascript 完好无损地返回,javascript,recursion,Javascript,Recursion,返回不工作的条件。尽管console.log工作正常。问题是函数总是返回false function func(obj, input) { if (input === obj) { console.log('Here it works'); return true; //expected return tr }; for (let key in obj) { func(obj[key], input); } return false; }您需要检
function func(obj, input) {
if (input === obj) {
console.log('Here it works');
return true; //expected return tr
};
for (let key in obj) {
func(obj[key], input);
}
return false;
}您需要检查
for
循环中调用的返回值,然后返回true
退出
函数包含(对象,输入){
如果(输入===obj){
返回true;
}
如果(!obj | | typeof obj!=“object”){//检查对象
返回false;//如果不是,则退出false
}
用于(输入obj){
如果(包含(obj[key],输入)){//检查是否为真
return true;//仅当为true时返回
}
}
返回false;
}
log(包含('a','a');
log(包含('a','b'));
log(包含({foo:{bar:{baz:42}}},'42');
log(包含({foo:{bar:{baz:42}},42))代码>我认为它工作正常
function func(obj, input) {
if (input === obj) {
console.log('Here it works');
return true; //expected return tr
};
for (let key in obj) {
contains(obj[key], input);
}
return false;}
var a ={}
console.log(func(a,a));
Here it works
true
最好检查您的obj
和input
传递的内容。可能您正在检查一个数字
和一个字符串
?对不起,我弄错了EXCEPT contains它应该是func