Originariamente inviato da techno
è possibile inserire in uno switch case la condizione "or"?
Originariamente inviato da carlomarx
La risposta è no.
Originariamente inviato da carlomarx
Puoi usare la soluzione di lucavizzi, ma in quel caso si perde il senso della sintesi dell'operatore switch e la cosa diventa più prolissa che usare un normalissimo if/else (che paragona il contenuto della parentesi a "true" per definizione, senza bisogno che glielo indichi tu).
Secondo me è più elegante e meno prolisso uno switch al true, soprattutto considerando il fatto che Javascript non permette l'utilizzo di "elseif", a differenza di altri linguaggi.
Switch al true:
codice:
switch(true){
case (url=="NORMALI" || url=="NORMAL") : var position=0; break;
case (url=="GRANDI" || url=="LARGE") : var position=885; break;
case (url=="GRANDISSIME" || url=="EXTRA LARGE") : var position=1770; break;
}
If/else:
codice:
if(url=="NORMALI" || url=="NORMAL"){
var position=0;
}else{
if(url=="GRANDI" || url=="LARGE"){
var position=885;
}else{
if(url=="GRANDISSIME" || url=="EXTRA LARGE"){
var position=1770;
}
}
}
L'espressione regolare si adatta, anche bene, al caso specifico, visto che parliamo di url, ma comunque non può sostituire un costrutto, a mio avviso.