Heim >Web-Frontend >js-Tutorial >indexOf und lastIndexOf Anwendungsbeispiele Einführung_Javascript-Kenntnisse

indexOf und lastIndexOf Anwendungsbeispiele Einführung_Javascript-Kenntnisse

WBOY
WBOYOriginal
2016-05-16 16:37:571776Durchsuche

Der Zweck von indexOf besteht darin, die Position eines Wortes in einer Zeichenfolge zu finden

lastIndexOf ist ebenfalls eine Wortsuche. Der Unterschied zwischen ihnen besteht darin, dass ersteres am Anfang der Zeichenfolge und letzteres am Ende der Zeichenfolge beginnt.

Sobald das angegebene Wort gefunden wurde, wird die aktuelle Positionsnummer des Worts zurückgegeben. Wenn nicht gefunden, geben Sie -1 zurück.

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

Parameter 1 ist das Wort, nach dem gesucht werden soll. Es muss str sein, ein regulärer Ausdruck funktioniert nicht.

Außerdem wird der 2. Parameter akzeptiert. Zahlentyp, damit können wir den Suchbereich festlegen.

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

Die Steuerung der beiden Methoden erfolgt in unterschiedliche Richtungen.

Angenommen, indexOf ist auf 10 gesetzt, dann reicht der Suchbereich von 10 bis str.length (Ende des Zeichens)

Wenn lastIndexOf auf 10 eingestellt ist, reicht der Suchbereich von 10 bis 0 (Präfix)

Darauf sollten Sie achten.

ps: Wenn es auf eine negative Zahl wie -500 eingestellt ist, treten seltsame Phänomene auf, die ich selbst nicht verstehen kann = = " ;

Manchmal möchten wir das n-te angeben. Dann können wir es mit der oben genannten Methode erreichen.

Zum Beispiel:

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个的位置
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn