Javascript 当找不到算法时,打印console.log而不是null
我对js非常陌生,弄明白如何将console.log改为“null”,这让我有点头疼 我有这段代码(它来自一本叫做《雄辩的JavaScript》的书) 它通过将数字乘以3或加上5来查找数字。 我想添加console.log,这样它会打印“对不起,找不到算法”之类的内容,而不是“null” 我无法解决的问题是,如果我在函数中检查空值,当可以找到算法时,它只打印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
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))哇,谢谢你,我可能想不出来。我尝试了很多方法,但没有使用OR操作员。非常感谢您抽出时间:)
if(findNumber.checkingForSolution == null){
console.log('sorry')
}
else{console.log(findNumber(34));
}