Javascript: comparer variable contre le tableau de valeurs
En javascript je suis en train de faire le suivant qui fonctionne très bien.
if (myVar == 25 || myVar == 26 || myVar == 27 || myVar == 28)
{
//do something
}
Comment puis-je raccourcir? quelque chose comme ce qui suit.
if (myVar IN ('25','26','27','28')) {
//do something
}
ou
if(myVar.indexOf("25","26","27","28") > -1) ) {//do something}
OriginalL'auteur J.D | 2014-04-16
Vous devez vous connecter pour publier un commentaire.
Juste essayer avec:
Comme indiqué dans ce fil, si vous êtes à l'aide de jQuery, vous pouvez utiliser `$.inArray(
OriginalL'auteur hsz
Autre manière :
Démonstration en direct
Modifier basé sur le commentaire de Anthony du Grain à moudre
De cette façon, si vous savez ce que sont ces valeurs vont être (c'est à dire qu'ils ne sont pas dynamiques) et votre tableau contient une série consécutive de valeurs numériques.
> 24 && < 29
est encore plus court 🙂Très bien si vous savez ce que sont ces valeurs vont être (c'est à dire qu'ils ne sont pas dynamiques) et votre tableau contient une série consécutive de valeurs numériques.
OriginalL'auteur R3tep
Depuis
indexOf()
, a quelques problèmes de compatibilité navigateur et nécessite une étape supplémentaire (à comparer le résultat à -1), une variante, de la croix-navigateur démarche est la suivante jQuery méthode utilitaire (si vous inclure jQuery dans votre projet) :OriginalL'auteur JLRishe
Tableau.indexOf aura beau travail pour tous les navigateurs(FF, Chrome, >, IE8), juste un mot d'avertissement est ce Tableau.indexOf ne fonctionnera pas pour IE8.
Si vous voulez la faire fonctionner dans IE8, veuillez utiliser le code ci-dessous:
OriginalL'auteur Sandeeproop