javascript - 有没有办法在 JavaScript 中测试多个整数(如 "correct")以使整个函数正确通过?

标签 javascript function

我有一个类作业,其中我必须创建一个函数来测试组合锁的 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/

相关文章:

JavaScript通过同类播放按钮控制播放同类视频

javascript - 在 Grunt 中复制 dist 文件的更有效方法?

javascript - 流抽象类型和函数 - 无法访问属性

javascript - Node 数组范围问题

javascript - 从 html 表追加数据而不是另存为新文件

c++ - 如何将函数中的多个值传递给 C++ 中的不同函数?

function - 我想磨练我对重要概念的理解

javascript - 函数调用和函数引用有什么区别?

javascript - 仅当用户不滚动自己时,如何在加载时滚动页面?

php - 解析错误: syntax error, unexpected end of file in FUNCTIONS.PHP ON LINE 62 [duplicate]