ホームページ  >  に質問  >  本文

ifelse ステートメントを使用して複数の変数の組み合わせを処理する

<p>次の 2 つの変数があります。</p> <pre class="brush:php;toolbar:false;">var a = "active" //[2 つの可能な値 active/inactive] var b = "inactive" //[可能な 3 つの値 active/locked/disabled] var 結果 = "" if(a=="アクティブ" && b=="アクティブ") 結果 = "a"; elif(a=="アクティブ" && b=="ロック") 結果 = "b" elif(a=="アクティブ" && b=="無効") 結果 = "c" elif(a=="非アクティブ" && b=="アクティブ") 結果 = "d" elif(a=="非アクティブ" && b=="無効") 結果 = "e" elif(a=="非アクティブ" && b=="ロック") 結果 = "f" <p>JS では、ifelse を使用してさまざまな条件をチェックする以外に、考えられる結果を記述する最も効率的な方法は何でしょうか?提案をお願いします。 </p>
P粉420958692P粉420958692404日前376

全員に返信(1)返信します

  • P粉680087550

    P粉6800875502023-08-19 00:33:06

    オブジェクトを使用すると、ロジックをよりデータ駆動型にすることができます。例:

    リーリー

    次に、a を使用してそのオブジェクトにアクセスし、ネストされたオブジェクトの値にアクセスすることで、outcome 変数を設定できます。例:

    リーリー

    a が上記以外の値である可能性がある場合は、b にアクセスする前に outcomeMap[a] を確認することをお勧めします。 ###未定義###。これは、環境でサポートされている場合は、オプションのチェーンを使用して行うことができます。例: outcomeMap[a]?.[b]; あるいは、可能な組み合わせを含む配列を設定し、それらをループして組み合わせが一致するかどうかを確認することもできます。次に、現在のインデックスに基づいて、結果が見つかった場合は、結果 (

    outcomes

    ) にインデックスを付けることができます。例:

    リーリー

    どちらの方法も、if ステートメントを使用するより効率的ではないことに注意してください。ただし、より多くの可能性がある場合は、拡張が容易になるはずです。

    返事
    0
  • キャンセル返事