有没有一种方法可以在JavaScript中将多个整数测试为“正确”,以使整个函数正确传递?

时间:2018-09-28 17:37:49

标签: javascript function

我有一个类分配,其中我必须创建一个测试4个整数的组合锁的函数。例如,让我们调用参数a,b,c和d。在功能中:

  

a可以是3、5或7

     

b必须为2

     

c可以介于5到100之间,包括5到100

     

和d可以小于9或大于20,但是9或20都不起作用

该功能必须将所有这些数字测试为“正确”才能使组合正确。我已经使用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 statementsthis article上查看了有关嵌套if ... else语句以及articles from Front Stuff和其他stack overflow问题的这些资源,以期找出问题的答案。出来。我现在在砖墙上。

1 个答案:

答案 0 :(得分:1)

由于这是用于课程分配的,所以我不会给您代码。相反,我会给你一个提示。

您的if语句无效。

a === 3 || 5 || 7

您需要左手分配5和7:

a === 3 || a === 5 || a === 7

您还可以通过先检查a来早点返回。像这样:

if (a !== 3 && a !== 5 && a !== 7) {
  return 'incorrect'
}

这样可以使代码更整洁,而之后的代码将更简单,因为您现在知道a是正确的。