Maison  >  Article  >  interface Web  >  Exemples d'utilisation de indexOf et lastIndexOf introduction_javascript skills

Exemples d'utilisation de indexOf et lastIndexOf introduction_javascript skills

WBOY
WBOYoriginal
2016-05-16 16:37:571744parcourir

Le but de indexOf est de trouver la position d'un mot dans une chaîne

lastIndexOf est également une recherche de mots. La différence entre eux est que le premier commence au début de la chaîne et le second à la fin de la chaîne.

Une fois le mot spécifié trouvé, le numéro de position actuel du mot sera renvoyé. S'il n'est pas trouvé, renvoyez -1.

var str = "//www.stooges.com.my/test/index.aspx123/";
console.log(str.indexOf("/")); //0
console.log(str.lastIndexOf("/")); //39

Le paramètre 1 est le mot à rechercher, il doit être str, l'expression régulière ne fonctionnera pas.

Il accepte également le 2ème paramètre. Type de numéro, cela nous permet de préciser la plage de recherche.

var str = "//www.stooges.com.my/test/index.aspx123/";
console.log(str.indexOf("/", 0)); //0 默认情况是 0
console.log(str.lastIndexOf("/", str.length)); //39 默认情况是 str.length

Le contrôle des deux méthodes va dans des directions différentes.

Supposons que indexOf est défini sur 10, alors la plage de recherche est de 10 à str.length (fin du caractère)

Si lastIndexOf est défini sur 10, la plage de recherche sera de 10 à 0 (préfixe)

Vous devriez faire attention à cela.

ps : S'il est réglé sur un nombre négatif tel que -500, il y aura des phénomènes étranges que je ne peux pas comprendre moi-même = = " ;

Parfois, nous voulons spécifier le nième. Ensuite, nous pouvons y parvenir grâce à la méthode ci-dessus.

Par exemple :

String.prototype.myIndexOf = function (searchValue, startIndex) { 
var text = this;
startIndex = startIndex || 1; 
var is_negative = startIndex < 0;
var ipos = (is_negative) &#63; text.length + 1 : 0 - 1; 
var loopTime = Math.abs(startIndex);
for (var i = 0; i < loopTime ; i++) {
ipos = (is_negative) &#63; text.lastIndexOf(searchValue, ipos - 1) : text.indexOf(searchValue, ipos + 1);
if (ipos == -1) break;
}
return ipos;
}
var str = "//www.stooges.com.my/test/index.aspx123/";
console.log(str.myIndexOf("/", 3)); //20
console.log(str.myIndexOf("/", -2)); //25 倒数第2个的位置
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn