我有一个类作业,其中我必须创建一个函数来测试组合锁的 4 个整数。例如,我们将参数称为a、b、c、d。在函数中:
a can be 3, 5, or 7
b must be 2
c can be anywhere between 5 and 100, including 5 & 100
and d can be less than 9 or more than 20, but neither 9 not 20 will work
该函数必须测试所有这些数字是否“正确”,组合才正确。我已经使用 switch 语句来让数字正确返回,但是有没有办法可以一次测试所有 4 个数字,并让代码在到达不正确的数字时停止?
我尝试了类似下面的代码,但它返回为未定义。可能是因为它又长又无意义。
checkLock = function(a,b,c,d) {
if (a === 3 || 5 || 7 && b === 2 && c >= 5 || c <= 100 && d < 6 || d >
20) {
return "correct";
} else {
return "incorrect";
}
};
我尝试使用一些 switch 语句和交替 if..else 语句。但它不会捕获错误的组合。
我在 W3 Schools about switch statements 上查看了这些资源, this article关于嵌套 if...else 语句,以及 articles from Front Stuff及其他stack overflow尝试找出答案的问题。我现在正站在砖墙上。
最佳答案
由于这是类作业,因此我不会给您代码。相反,我会给你一个提示。
您的 if
语句无效。
a === 3 || 5 || 7
您需要为 5 和 7 分配左手分配:
a === 3 ||一个 === 5 || a === 7
您也可以通过先检查a
来提前返回。像这样的东西:
if (a !== 3 && a !== 5 && a !== 7) {
return 'incorrect'
}
这种方式会让代码更简洁,之后的代码也会更简单,因为你现在知道 a 是正确的。
关于javascript - 有没有办法在 JavaScript 中测试多个整数(如 "correct")以使整个函数正确通过?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52560298/