有没有办法将多个整数测试为;“正确”;在JavaScript中,整个函数的传递是否正确?

有没有办法将多个整数测试为;“正确”;在JavaScript中,整个函数的传递是否正确?,javascript,function,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 = f

我有一个类赋值,其中我必须创建一个函数来测试组合锁的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";
        }
    };
checkLock=功能(a、b、c、d){
如果(a==3 | | 5 | | 7&&b==2&&c>=5 | c
20) {
返回“正确”;
}否则{
返回“不正确”;
}
};
我试过使用一些switch语句和交替if..else语句。但它不会捕捉错误的组合


我已经查看了上面的这些资源,关于嵌套if…else语句,以及其他问题,试图找出答案。我现在处境艰难

因为这是一个课堂作业,所以我不会给你代码。相反,我会给你一个提示

您的
if
语句无效

a==3 | | 5 | | 7

您需要为第5和第7部分分配左手作业:

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

您也可以先检查
a
来提前返回。比如:

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

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

请务必注意“操作顺序”。您需要使用
()
的问题在a===3 | | 5 | | 7中。这是不正确的比较方式。尝试console.log(4==3 | | | 5 | | | 7),但这不仅仅是这一部分,还有一部分是为了帮助他在不写作业的情况下学习。我实际上错过了问题开头的部分
课堂作业
。我删除了我的答案,你的答案很棒。