首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript ( variable = =(variable2欧元/ variable3 =.))

javascript ( variable = =(variable2欧元/ variable3 =.))
EN

Stack Overflow用户
提问于 2012-10-08 08:48:04
回答 7查看 913关注 0票数 2

可能重复: 如何在JavaScript中嵌套或语句?

有没有办法这样做:

代码语言:javascript
复制
 if( variable1 == (variable2 || variable3 || ...) )

我需要检查variable1是否等于variable2 variable3 4 5.

我不能直接这么做:

代码语言:javascript
复制
 if( (variable1 == variable2) || (variable1 == variable3) || ...) )

因为我不知道到底有多少variable2 3 4 5.我有过

顺便说一下variable2 3 4 5.是我数组中的元素。我试过了但什么都没发生。

代码语言:javascript
复制
if( variable1 == (variable2 || variable3 || ...) )

更新:这是片段

让我们说,战略技能等于:

代码语言:javascript
复制
abc|def|ghi|jkl|

代码语言:javascript
复制
 var myskl = document.getElementById('strskill').value.split("|");


 for(var q=0; q<(myskl.length); q++)
        {
            var r = r + "myskl[q], ";
            var s = r + "myskl[q]";             
        }

        if(s.indexOf(myArray[i]) > -1)
        {   
            continue;
        }   

我试过你的建议,但还是没有用!

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-10-08 08:59:08

你也可以这么做,这边请

代码语言:javascript
复制
a = 1;
b = [1,2,3,4];


function check(a,b){
    i = 0;        
     for (i=0;i<b.length;i++) {
        if (a === b[i]) {
             return true;
        }
    }
    return false;
 }

alert(check (a,b))

票数 1
EN

Stack Overflow用户

发布于 2012-10-08 08:49:37

您不能这样做,因为A || B || C || ...总是返回第一个真值。

你可以这样做:

代码语言:javascript
复制
if ([variable2, variable3, variable4, ...].indexOf(variable1) > -1) {

}
票数 7
EN

Stack Overflow用户

发布于 2012-10-08 08:56:12

你有不同的选择。

  • 在纯javascript中,如果数组中没有返回-1,则可以使用array.indexOf(variable1)。更多信息,这里。请注意不支持此功能的旧浏览器。
  • 很多不同的javascript框架提供了这样的可能性:在所以上检查这个答案,有很多不同的引用

然后,您的代码将(使用第一个解决方案):

代码语言:javascript
复制
myArray = [variable2, variable3 ...];    
if(myArray.indexOf(variable1) !== -1) 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12778196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档