3

私はこれを書くための短い方法を探しています:

    if ( variable == 1 || variable == 2 || variable == 6)

私は試した

    if (variable == 1 || 2 || 6)

しかし、それは機能していないようです。これを行う簡単な方法はありますか?

4

4 に答える 4

10

可能な値を配列に入れて、次を使用することでそれを行うことができますArray.indexOf

if ([1,2,6].indexOf(variable) != -1)
于 2013-01-30T15:36:09.763 に答える
3
if (variable in { 1: 1, 2: 2, 6: 6 }) {
   // ...
}

または(より安全な方法):

if (({ 1: 1, 2: 2, 6: 6 }).hasOwnProperty(variable)) {
   // ...
}

または(それほど短くはありませんが、機能します):

switch (variable) {
    case 1:
    case 2:
    case 6:
        // ...
        break;
    default:
        // else
}
于 2013-01-30T15:36:42.303 に答える
0

どうですか

[1,2,6].indexOf(variable) >= 0

これはIE<9では機能しませんが、ポリフィルを使用できます。
SugarJSは、indexOfのポリフィルを提供し、優れたライブラリです。

于 2013-01-30T15:39:11.300 に答える
0

[1,2,6].includes( variable )

ブラウザのサポート

于 2021-05-13T14:40:53.277 に答える