Javascript : alternative de if ( x == (a || b || c || d) ) ?

Quedza Messages postés 242 Date d'inscription   Statut Membre Dernière intervention   -  
Quedza Messages postés 242 Date d'inscription   Statut Membre Dernière intervention   -
Salut à tous.

J'aimerai savoir s'il serait possible de "factoriser" les possibilités sur JavaScript.

Concrètement, y a-t-il une alternative de la factorisation " if ( x == (a || b || c || d) ) " au lieu de " if ( (x == a) || (x == b) || (x == c) || (x == d) ) " ?
"Alternative" parce que " if ( x == (a || b || c || d) ) " ne fonctionne pas.

Il me semble qu'il est possible de le faire avec PHP...

Merci d'avance.

Laurent

4 réponses

Rakholnikov
 
Salut,
l'écriture correcte est plutôt:

if(x==a || x==b || x==c || x==d){};

sinon utilisez un switch

http://www.w3schools.com/js/js_switch.asp

ou un tableau de variables et recherchez si celui ci contient la valeur de x

http://stackoverflow.com/questions/6116474/how-to-find-if-an-array-contains-a-specific-string-in-javascript-jquery

Bref vous avez plusieurs façons de faire tandis qu'aucune de celle que vous indiquez n'est une syntaxe correcte...
0
Quedza Messages postés 242 Date d'inscription   Statut Membre Dernière intervention   18
 
Merci, mais mon code " if ( (x == a) || (x == b) || (x == c) || (x == d) ) ", bien que maladroit et non "économe", fonctionne bel et bien...
À force de faire des essais, j'ai mis des parenthèses inutiles en trop.
0
ryko1820 Messages postés 1677 Date d'inscription   Statut Membre Dernière intervention   276
 
Le robot modérateur m'interdisait le (x) dans la balise code alors j'ai mis (y) à la place de ta variable (x) :p
J'aimais bien la solution avec array évoquée plus haut.

if ([a,b,c,d].indexOf(y) > -1)


Sinon pour une liste exhaustive : https://stackoverflow.com/questions/4728144/check-variable-equality-against-a-list-of-values

You may stop me but you can't stop us all ;-)
0
Quedza Messages postés 242 Date d'inscription   Statut Membre Dernière intervention   18
 
Merci !
0