Overblog Tous les blogs Top blogs Photographie
Editer l'article Suivre ce blog Administration + Créer mon blog
MENU

Paris, photo, humeurs, un peu de HTML/CSS pour faire sérieux. Feinte innocence et vraie naïveté (ou vice-versa). Encore un blog qui agite ses petits bras en couinant "Viens me lire !"

Publicité

Programmation : Recherche dans un Array - indexOf

Pour chercher et trouver la première occurrence d'un caractère particulier dans une chaîne de caractères on emploie la méthode indexOf de l'objet String :

 var v="Jus de méninges"; var i=v.indexOf('m'); /* i vaut 7 */ 

La méthode renvoie une valeur comprise entre 0 et v.length-1 si la recherche réussit. Si elle échoue la méthode renvoie -1.

La méthode accepte aussi un deuxième argument (facultatif, 0 par défaut) pour indiquer la position de début de la recherche :

 var v="Jus de méninges"; var i=v.indexOf('s'); /* i vaut 2 : fin du mot 'Jus' */ var i=v.indexOf('s',4); /* i vaut 15 : fin du mot 'méninges' */ 

Pour chercher et trouver la première occurrence d'une valeur particulière dans un tableau on emploie la méthode indexOf de l'objet Array… mais cette méthode n'existe qu'à partir de la version 1.6 de JavaScript, et tous les navigateurs ne sont pas à ce niveau. Voici donc de quoi l'ajouter si elle n'existe pas déjà :

 if (!Array.prototype.indexOf) Array.prototype.indexOf=function(s,iFrom) { if (typeof iFrom == 'undefined') iFrom=0; for(var i=iFrom,iMax=this.length; i<iMax; i++) if (this[i]==s) return i; return -1; }; 

Si le navigateur connaît déjà cette méthode le test initial échoue : pas besoin de réinventer la roue. Cette méthode fonctionne de la même manière que son analogue pour les chaînes :

 var v=["Jus","de","méninges"]; /* tableau à trois éléments */ var i=v.indexOf('Jus'); /* i vaut 0 : premier élément du tableau */ var i=v.indexOf('jus'); /* i vaut -1 : échec à cause de majuscule/minuscule */ var i=v.indexOf('jus',1); /* i vaut -1 : échec car recherche à partir du 2è mot */ 

On peut de la même manière créer la méthode lastIndex pour chercher à partir de la fin du tableau.


Pour mémoire : d'autres liens JavaScript

Publicité
Retour à l'accueil
Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article