11

現在、次のような if ステートメントがあります。

if (x==a||x==b||x==c||x==d||x==e) {
   alert('Hello World!')
};

xのような配列内の値に等しいかどうかを代わりにテストするにはどうすればよい[a,b,c,d,e]ですか?

ありがとうございました!

4

4 に答える 4

25

使用できます

if([a,b,c,d,e].includes(x)) {
    // ...
}

また

if([a,b,c,d,e].indexOf(x) !== -1) {
    // ...
}
于 2013-09-03T09:39:35.160 に答える
1

jquery 関数 inArray() をチェックしてください: http://api.jquery.com/jQuery.inArray/

于 2013-09-03T09:45:48.460 に答える
1

このヘルパー関数を試してください:

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利用し、そうでない場合は手動で繰り返します。

于 2013-09-03T09:46:01.303 に答える