很简单的问题,不知道我错过了什么.我有这样的事情:
if(this == 18 || this == 19 || this == 20 || this == 21) {
...
}我怎样才能缩短它呢?我试过if(this == 18 || 19 || 20...),但那不起作用。我还有大约50个这样的价值,所以如果我可以的话,那就太好了。
谢谢。
发布于 2014-06-02 22:37:10
假设适合于较旧的浏览器:
if( [18,19,20,21].indexOf(this) > -1) {或者,另一种选择是:
if( "|"+[18,19,20,21].join("|")+"|".indexOf("|"+this+"|") > -1) {发布于 2014-06-02 22:36:48
编辑:参见使用indexOf的答案-更清洁的IMO
假设数据不是序号(如果只是使用this > min &这个< max)
您可以将它们全部放入数组中,然后对数组进行预测。在循环内部,进行比较,如果匹配,则执行逻辑,然后中断。
发布于 2014-06-02 22:36:56
尝试使用数组
if ([18, 19, 20, 21].indexOf(this) >= 0) {
// ...
}https://stackoverflow.com/questions/24004358
复制相似问题