我目前有这样的 if 语句:
if (x==a||x==b||x==c||x==d||x==e) {
alert('Hello World!')
};
我怎样才能测试是否x
等于数组中的任何值,例如[a,b,c,d,e]
?
谢谢!
我目前有这样的 if 语句:
if (x==a||x==b||x==c||x==d||x==e) {
alert('Hello World!')
};
我怎样才能测试是否x
等于数组中的任何值,例如[a,b,c,d,e]
?
谢谢!
您可以使用
if([a,b,c,d,e].includes(x)) {
// ...
}
或者
if([a,b,c,d,e].indexOf(x) !== -1) {
// ...
}
您可以使用以下代码:
<script>
var arr = [ 4, "Pete", 8, "John" ];
var $spans = $("span");
$spans.eq(0).text(jQuery.inArray("John", arr));
$spans.eq(1).text(jQuery.inArray(4, arr));
$spans.eq(2).text(jQuery.inArray("Karl", arr));
$spans.eq(3).text(jQuery.inArray("Pete", arr, 2));
</script>
希望这对您有所帮助。
查看 jquery 函数 inArray(): http ://api.jquery.com/jQuery.inArray/
试试这个辅助函数:
function in_array(needle,haystack) {
if( haystack.indexOf) return haystack.indexOf(needle) > -1;
for( var i=0, l=haystack.length, i<l; i++) if(haystack[i] == needle) return true;
return false;
}
如果可用,这将使用内置的indexOf
,否则它会手动迭代。