为了账号安全,请及时绑定邮箱和手机立即绑定

比较多个值的简便方法

比较多个值的简便方法

江户川乱折腾 2019-11-02 09:54:13
考虑以下:var a = 'jesus';if(a == 'something' || a == 'nothing' || a=='anything' || a=='everything'){   alert('Who cares?');}有什么办法可以缩短时间?Javascript中有什么类似的东西if (a=='bbb'||'ccc')吗?另外,jQuery可以在这里提供帮助吗?
查看完整描述

3 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

使用正则表达式:


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?');


查看完整回答
反对 回复 2019-11-02
?
开满天机

TA贡献1786条经验 获得超13个赞

你可以用这个...


if (["something", "nothing", "anything", "everything"].includes(a)) {

   alert('Who cares?');

}

如果您对旧版浏览器的支持受阻...


if (["something", "nothing", "anything", "everything"].indexOf(a) > -1) {

   alert('Who cares?');

}

您也将其标记为jQuery,因此,如果您需要不带jQuery的旧浏览器Array.prototype.indexOf(),则可以使用$.inArray()。


查看完整回答
反对 回复 2019-11-02
?
萧十郎

TA贡献1815条经验 获得超13个赞

您可以将选项放入数组中,并使用jQuery $.inArray()或javascrpt indexOf()搜索数组


纯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");    


查看完整回答
反对 回复 2019-11-02
  • 3 回答
  • 0 关注
  • 411 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信