117 votes

Comment spécifier plusieurs conditions dans une instruction if en javascript

Voici comment je mentionne deux conditions si ceci ou cela

 if (Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')
    PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value;
}

211voto

AlanFoster Points 3437

ajoutez-les simplement dans le crochet principal de l'instruction if comme

 if ((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) {
            PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value;
}

Logiquement, cela peut être réécrit d'une meilleure manière aussi ! Cela a exactement le même sens

 if (Type == 2 && (PageCount == 0 || PageCount == '')) {

54voto

Glen Thompson Points 1231

Voici une autre façon de le faire.

 const conditionsArray = [
    condition1, 
    condition2,
    condition3,
]

if (conditionsArray.indexOf(false) === -1) {
    "do somthing"
}

Ou ES6

 if (!conditionsArray.includes(false)) {
   "do somthing"
}

15voto

Edward Taylor Points 233

Je vérifie actuellement un grand nombre de conditions, ce qui devient difficile à manier en utilisant la méthode d'instruction if au-delà de 4 conditions. Juste pour partager une alternative épurée pour les futurs téléspectateurs... qui s'adapte bien, j'utilise :

 var a = 0;
var b = 0;

a += ("condition 1")? 1 : 0; b += 1;
a += ("condition 2")? 1 : 0; b += 1;
a += ("condition 3")? 1 : 0; b += 1;
a += ("condition 4")? 1 : 0; b += 1;
a += ("condition 5")? 1 : 0; b += 1;
a += ("condition 6")? 1 : 0; b += 1;
// etc etc

if(a == b) {
    //do stuff
}

10voto

Fabrizio Calderan Points 43398

l'ensemble if devrait être mis entre parenthèses et le or opérateur || un pas !! , alors

 if ((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) { ...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X