本文介绍了在javascript中链接逻辑运算符的简短手?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有没有更好的方法在javascript中编写以下条件?
Is there a better way to write the following conditional in javascript?
if ( value == 1 || value == 16 || value == -500 || value == 42.42 || value == 'something' ) {
// blah blah blah
}
我讨厌把所有逻辑OR串在一起。我想知道是否有某种速记。
I hate having all of those logical ORs strung together. I'm wondering if there is some kind of shorthand.
谢谢!
推荐答案
var a = [1, 16, -500, 42.42, 'something'];
var value = 42;
if (a.indexOf(value) > -1){
// blah blah blah
}
更新
评论中建议的效用函数示例:
Upd:Utility function sample as proposed in comments:
Object.prototype.in = function(){
for(var i = 0; i < arguments.length; i++){
if (this == arguments[i]) return true;
}
return false;
}
所以你可以这样写:
if (value.in(1, 16, -500, 42.42, 'something')){
// blah blah blah
}
这篇关于在javascript中链接逻辑运算符的简短手?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!