javascriptif-statement

JavaScript conditional - how to test if a variable matches any of a list of values?


Does JavaScript have a convenient way to test if a variable matches one of many values?

This is my code,

function Start()
{
    if(number==(0||3||6||8||9||11||13||14||15||18||19||22||23||25||27||28||31||34||43||46||47||49||54||58||59||62||63||68||71||74||75))
    {
        FirstFunction();
    }
    if(number==(1||4||5||7||12||16||17||20||21||26||29||32||33||42||45||48||50||51||53||55||56||57||60||61||64||65||67||69||70||73||76))
    {
        SecondFunction();
    }
}

as you can see, I tried to use the "or" operator to check if number equals ANY of the listed. this, unfortunately, did not work. I know I can just code:

if(number==0||number==3||number==6....)

I think there should be an alternative to that, is there?

Thank you in advance.


Solution

  • You should insert all your elements in an array and use arr.indexOf(element)

    It will return -1 if the element doesn't exist which you can use for your if logic

    This is better than having lot of if statements

    var x = new Array(1,7,15,18);
    
    if ( x.indexOf(31) != -1 )
    {
      // Add your logic here
    }