有条件的,如果对于很多值,更好的方法

有没有更好的方法来处理检查多个值。 当我有超过3个选择时,它开始变得非常忙碌。

if (myval=='something' || myval=='other' || myval=='third') { } 

PHP有一个名为in_array()的函数,它的使用方式如下:

 in_array($myval, array('something', 'other', 'third')) 

在js或jquery中有类似的东西吗?

Jquery.inArray()

$.inArray ,您还可以使用Object表示法:

 if (myval in {'something':1, 'other':1, 'third':1}) { ... 

要么

 if (({'something':1, 'other':1, 'third':1}).hasOwnProperty(myval)) { .... 

(请注意,如果客户端修改了Object.prototype ,则第一个代码将Object.prototype 。)

您可以通过使用某种哈希映射来避免迭代数组:

 var values = { 'something': true, 'other': true, 'third': true }; if(values[myVal]) { } 

没有jQuery也可以工作;)

从10多种JAVASCRIPT SHORTHAND CODING TECHNIQUES中获取的清洁解决方案:

速记

 if (myval === 'something' || myval === 'other' || myval === 'third') { alert('hey-O'); } 

速记

 if(['something', 'other', 'third'].indexOf(myvar) !== -1) alert('hey-O');