Verwenden Sie die ifelse-Anweisung, um Kombinationen mehrerer Variablen zu verarbeiten
P粉420958692
2023-08-18 14:08:36
<p>Ich habe zwei Variablen wie folgt: </p>
<pre class="brush:php;toolbar:false;">var a = "active" //[Zwei mögliche Werte aktiv/inaktiv]
var b = „inaktiv“ //[Drei mögliche Werte aktiv/gesperrt/deaktiviert]
var result = ""
if(a=="aktiv" && b=="aktiv")
Ergebnis = „a“;
elif(a=="aktiv" && b=="gesperrt")
Ergebnis = „b“
elif(a=="aktiv" && b=="deaktiviert")
Ergebnis = „c“
elif(a=="inaktiv" && b=="aktiv")
Ergebnis = „d“
elif(a=="inaktiv" && b=="deaktiviert")
Ergebnis = „e“
elif(a=="inaktiv" && b=="gesperrt")
Ergebnis = "f"</pre>
<p>Was ist in JS neben der Verwendung von ifelse zur Überprüfung verschiedener Bedingungen die effizienteste Möglichkeit, mögliche Ergebnisse zu beschreiben? Bitte um Vorschläge. </p>
您可以通过使用对象使您的逻辑更加数据驱动,例如:
然后,您可以通过使用
a
访问该对象,并访问嵌套对象的值来设置您的outcome
变量,例如:请注意,如果
a
除了您提到的值之外还可以是任何其他值,最好在访问b
之前检查outcomeMap[a]
是否为undefined
。如果您的环境支持,可以使用可选链来完成,例如:outcomeMap[a]?.[b];
或者,您可以设置包含可能组合的数组,然后循环遍历它们以检查您的组合是否匹配。然后,根据当前索引,如果找到结果,您可以索引到您的结果(
outcomes
),例如:请注意,这两种方法都不比使用if语句更高效。但是,如果您有更多可能性,它们应该更容易扩展。