1. ホーム
  2. jquery

[解決済み] jQueryのif文でのOR演算子の使用について

2022-02-07 04:26:26

質問

jQueryのif文でOR演算子を使い、10個の状態をフィルタリングする必要があります。私のコードは、1つの州を除外している間は動作しますが、複数の州を含めようとすると失敗します。これを行うための正しい方法はありますか?

私が使用しているコード:

if ((state != 10) || (state != 15) || (state != 19) || 
    (state != 22) || (state != 33) || (state != 39) || 
    (state != 47) || (state != 48) || (state != 49) || 
    (state != 51)) 
   return true;

解決方法は?

何を考えるか

if ((state != 10) || (state != 15) || (state != 19) || (state != 22) || (state != 33) || (state != 39) || (state != 47) || (state != 48) || (state != 49) || (state != 51))

を意味します。 || は "or." の意味であり、これの否定は(デモーガンの法則により)である。

state == 10 && state == 15 && state == 19...

つまり、これが偽になる可能性があるのは state は同時に10、15、19(およびor文の残りの数字)に等しくなりますが、これは不可能です。

したがって、この文は 常に となります。例えば状態15が状態10に等しくなることはありませんから 常に は真である。 state は10に等しくないか、15に等しくないかのどちらかです。

変更 || から && .

また、ほとんどの言語では、次のようになります。

if (x) {
  return true;
}
else {
  return false;
}

は必要ありません。この場合、このメソッドは true のときと同じです。 x が真で false のとき、ちょうど xfalse . すればいいんです。

return x;