757 votes

Comment trouver si un tableau contient une chaîne de caractères en JavaScript/jQuery ?

Quelqu'un peut me dire comment détecter si `` s’affiche dans un tableau ? Exemple :

1163voto

James Points 3068

Vous n’avez vraiment besoin jQuery pour cela !

ou

Il est à noter que la fonction indexOf(...) de jQuery fonctionnera dans IE 9 n’est pas supporté par les anciennes versions d’IE. Hein.

693voto

lonesomeday Points 95456

jQuery propose des $.inArray:

var found = $.inArray('specialword', categories) > -1;

Notez que inArray renvoie l'index de l'élément trouvé, 0 indique que l'élément est le premier dans le tableau. -1 indique que l'élément n'a pas été trouvé.

Exemple.


Edit 3.5 ans plus tard

$.indexOf est effectivement un wrapper pour Array.prototype.indexOf dans les navigateurs qui le supportent (presque tous ces jours-ci), tout en offrant une cale à ceux qui n'en ont pas. Il est essentiellement équivalent à l'ajout d'une cale pour Array.prototype, ce qui est un plus idiomatiques/JSish façon de faire les choses. MDN fournit un tel code. Ces jours, j'aimerais profiter de cette option, plutôt que d'utiliser le jQuery wrapper.

39voto

Šime Vidas Points 59994

Voilà :

Cette fonction renvoie un entier positif (l’index de tableau de la valeur), ou `` si la valeur fournie n’a pas été trouvée dans le tableau.

Démo en direct : http://jsfiddle.net/simevidas/5Gdfc/

Vous voulez probablement utiliser ce comme si :

17voto

JaredPar Points 333733

Il suffit d’utiliser une boucle for

7voto

Adam Eberlin Points 6183

Je n’aime pas , c’est le genre de solution de jQuery-ish laid, qui ne serait pas tolérer des gens plus sains d’esprit. Voici un extrait de code qui ajoute un simple méthode à votre arsenal :

De même, vous pouvez envelopper `` dans une extension :

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