Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.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 当找不到算法时,打印console.log而不是null_Javascript - Fatal编程技术网

Javascript 当找不到算法时,打印console.log而不是null

Javascript 当找不到算法时,打印console.log而不是null,javascript,Javascript,我对js非常陌生,弄明白如何将console.log改为“null”,这让我有点头疼 我有这段代码(它来自一本叫做《雄辩的JavaScript》的书) 它通过将数字乘以3或加上5来查找数字。 我想添加console.log,这样它会打印“对不起,找不到算法”之类的内容,而不是“null” 我无法解决的问题是,如果我在函数中检查空值,当可以找到算法时,它只打印console.log而不是算法。 当函数搜索解决方案时,它会得到多个“null” 我试过这样的东西 if(findNumber.check

我对js非常陌生,弄明白如何将console.log改为“null”,这让我有点头疼

我有这段代码(它来自一本叫做《雄辩的JavaScript》的书)

它通过将数字乘以3或加上5来查找数字。 我想添加console.log,这样它会打印“对不起,找不到算法”之类的内容,而不是“null”

我无法解决的问题是,如果我在函数中检查空值,当可以找到算法时,它只打印console.log而不是算法。 当函数搜索解决方案时,它会得到多个“null”

我试过这样的东西

if(findNumber.checkingForSolution == null){
console.log('sorry')
}
else{console.log(findNumber(34));
}
但即使能找到算法,它也只会打印“对不起”
有人能帮忙吗?

您可以在第一次调用递归函数后添加默认值

checkingForSolution
中,将
null
替换为一个值将过早停止对有效值的搜索

函数findNumber(数字){
函数检查解决方案(当前、历史){
if(current==number)返回历史记录;
如果(当前>编号)返回空值;
返回checkingForSolution(当前+5,`(${history}+5)`)
||检查解决方案(当前*3,`(${history}*3)`);
}
返回检查解决方案(1,'1')
||“对不起,找不到算法”;
}
控制台日志(findNumber(34));

控制台日志(findNumber(2))if(findNumber.checkingForSolution == null){ console.log('sorry') } else{console.log(findNumber(34)); }