考虑以下:
var a = 'jesus';
if(a == 'something' || a == 'nothing' || a=='anything' || a=='everything'){
alert('Who cares?');
}
有没有办法缩短这个时间?
Javascript 中有什么东西if (a=='bbb'||'ccc')
吗?
另外,jQuery 能帮上忙吗?
考虑以下:
var a = 'jesus';
if(a == 'something' || a == 'nothing' || a=='anything' || a=='everything'){
alert('Who cares?');
}
有没有办法缩短这个时间?
Javascript 中有什么东西if (a=='bbb'||'ccc')
吗?
另外,jQuery 能帮上忙吗?
你可以用这个...
if (["something", "nothing", "anything", "everything"].includes(a)) {
alert('Who cares?');
}
如果您坚持使用较旧的浏览器支持...
if (["something", "nothing", "anything", "everything"].indexOf(a) > -1) {
alert('Who cares?');
}
您还将它标记为 jQuery,因此如果您需要支持不带 的旧浏览器Array.prototype.indexOf()
,则可以使用$.inArray()
.
使用正则表达式:
if (/^(something|nothing|anything|everything)$/.exec('jesus')) alert('Who cares?');
或者相反:
/^(something|nothing|anything|everything)$/.exec('jesus')||alert('Who cares?');
[更新] 更短;-)
if (/^(some|no|any|every)thing$/.exec('jesus')) alert('Who cares?');
您可以将选项放在数组中并使用 jQuery$.inArray()
或 javascrptindexOf()
来搜索数组
纯javascript
var a = 'anything';
arr = ['something', 'nothing', 'anything', 'everything'];
if(arr.indexOf(a) != -1)
alert("condition met");
else
alert("condition not met");
使用 jQuery
var a = 'jesus';
arr = ['something', 'nothing', 'anything', 'everything'];
if($.inArray(a, arr) != -1) // With jQuery
alert("condition met");
else
alert("condition not met");
使用 ES7,您可以使用Array.prototype.includes甚至比 indexOf 更短的符号,它已经在每个现代浏览器中实现。
这是示例用法:
if (['hero', 'anything', 'everything'].includes(me)) {
alert('Who cares?');
}
还有来自 Mozilla的polyfill。
试试这个:
如果您想检查耶稣以外的词,请尝试以下,
if(a != "jesus"){
alert('Who cares?');
}
如果您想检查特定单词,请尝试以下操作,
var check_arrays = ['something','nothing', 'anything', 'everything'];
if(checkThis(a)){
alert('Who cares?');
}
function checkThis(a)
{
for(i=0;i<check_arrays.length;i++)
{
if(check_arrays[i] == a)
return true;
}
return false;
}