首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缩短条件陈述?

缩短条件陈述?
EN

Stack Overflow用户
提问于 2014-06-02 22:33:59
回答 6查看 54关注 0票数 0

很简单的问题,不知道我错过了什么.我有这样的事情:

代码语言:javascript
复制
if(this == 18 || this == 19 || this == 20 || this == 21) { 
    ...
}

我怎样才能缩短它呢?我试过if(this == 18 || 19 || 20...),但那不起作用。我还有大约50个这样的价值,所以如果我可以的话,那就太好了。

谢谢。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2014-06-02 22:37:10

假设适合于较旧的浏览器:

代码语言:javascript
复制
if( [18,19,20,21].indexOf(this) > -1) {

或者,另一种选择是:

代码语言:javascript
复制
if( "|"+[18,19,20,21].join("|")+"|".indexOf("|"+this+"|") > -1) {
票数 4
EN

Stack Overflow用户

发布于 2014-06-02 22:36:48

编辑:参见使用indexOf的答案-更清洁的IMO

假设数据不是序号(如果只是使用this > min &这个< max)

您可以将它们全部放入数组中,然后对数组进行预测。在循环内部,进行比较,如果匹配,则执行逻辑,然后中断。

票数 0
EN

Stack Overflow用户

发布于 2014-06-02 22:36:56

尝试使用数组

代码语言:javascript
复制
if ([18, 19, 20, 21].indexOf(this) >= 0) {
     // ...
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24004358

复制
相关文章

相似问题

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