Utilisez l'instruction ifelse pour gérer les combinaisons de plusieurs variables
P粉420958692
2023-08-18 14:08:36
<p>J'ai deux variables comme suit :</p>
<pre class="brush:php;toolbar:false;">var a = "active" //[Deux valeurs possibles actif/inactif]
var b = "inactif" //[Trois valeurs possibles active/verrouillé/désactivé]
var résultat = ""
si(a=="actif" && b=="actif")
résultat = « un » ;
elif(a=="actif" && b=="verrouillé")
résultat = "b"
elif(a=="actif" && b=="désactivé")
résultat = "c"
elif(a=="inactif" && b=="actif")
résultat = "d"
elif(a=="inactif" && b=="désactivé")
résultat = "e"
elif(a=="inactif" && b=="verrouillé")
résultat = "f"</pre>
<p>En JS, outre l'utilisation de ifelse pour vérifier différentes conditions, quelle est la manière la plus efficace de décrire les résultats possibles ? Veuillez fournir des suggestions. </p>
Vous pouvez rendre votre logique davantage basée sur les données en utilisant des objets, par exemple :
Vous pouvez alors utiliser
a
访问该对象,并访问嵌套对象的值来设置您的outcome
variables, par exemple :Veuillez noter que si
a
除了您提到的值之外还可以是任何其他值,最好在访问b
之前检查outcomeMap[a]
是否为undefined
。如果您的环境支持,可以使用可选链来完成,例如:outcomeMap[a]?.[b];
Vous pouvez également configurer un tableau contenant des combinaisons possibles, puis les parcourir pour vérifier si votre combinaison correspond. Ensuite, en fonction de l'index actuel, si un résultat est trouvé, vous pouvez indexer votre résultat (
outcomes
), par exemple :Veuillez noter qu'aucune des deux méthodes n'est plus efficace que l'utilisation d'une instruction if. Cependant, si vous avez plus de possibilités, elles devraient être plus faciles à mettre à l’échelle.