0
votes

La syntaxe pour vérifier l'égalité d'une variable

Vous voulez savoir s'il existe une option pour optimiser (pour le rendre plus compétent) des syntaxes de la comparaison.

J'ai un code simple qui vérifie les entrées à ma fonction via les déclarations conditionnelles "if - sinon" . Je vérifie si la variable est égale à l'une des entrées ou non à l'aide de l'opérateur logique "ou" " xxx

Je voudrais savoir si je peux remplacer cette quantité de" ou " opérateurs avec une autre syntaux? Je connais la méthode "commutateur", mais maintenant je suis intéressé par cette approche particulière.


1 commentaires

Argh ... Je ne comprends pas ... Semble que l'entrée est une matrice, comme [1, "A", ...] pour être logique avec le compte de compte ... mais votre code est avec une seule carte. .. Lequel est le problème exact?


4 Réponses :


2
votes

Vous pouvez utiliser array.pototype .L'inclut code> :

if ([2, 3, 4, 5, 6].includes(card)) {
  count += 1;
} else if ([7, 8, 9].includes(card)) {
  count += 0;
} else if ([10, "J", "Q", "K", "A"].includes(card)) {
  count -= 1;
}


1 commentaires

Merci! On dirait comme le moyen le plus pratique pour moi!



1
votes
if (card >= 2 && card <= 6) {
count+=1;

3 commentaires

@ Bafftek il peut être aussi 3,5 et que nous obtenons de faux positifs


En théorie Oui, mais comme il s'agit d'une carte de carte et de valeurs décimales n'a pas de sens, vous pouvez simplement trunc la variable en haut de la fonction ou ailleurs.


Oui, cela a l'air assez mieux pour les conditions avec des chiffres. Mais cela ne fonctionnera pas pour la condition quand je vérifie J, q, k malheureusement :(



2
votes

Vous pouvez utiliser un objet qui mappe des valeurs de carte au montant à ajouter à Nombre : xxx



0 commentaires

0
votes

Vous pouvez l'écrire comme ça pour le rendre très lisible xxx

désolé pour la modification, je viens de réaliser que l'entrée est une matrice ... Vous pouvez simplement mettre le test de lancer / maintien en dehors de cette fonction :)


0 commentaires