Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 完好无损地返回_Javascript_Recursion - Fatal编程技术网

Javascript 完好无损地返回

Javascript 完好无损地返回,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; }您需要检

返回不工作的条件。尽管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;

}

您需要检查
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