Signatur
Beschreibung
Die indexOf()-Methode von String-Werten durchsucht diesen String und gibt den Index des ersten Vorkommens des angegebenen Teilstrings zurück. Sie akzeptiert eine optionale Startposition und gibt das erste Vorkommen des angegebenen Teilstrings an einem Index zurück, der größer oder gleich der angegebenen Zahl ist.
Strings sind nullbasiert indiziert: Der Index des ersten Zeichens eines Strings ist 0, und der Index des letzten Zeichens eines Strings ist die Länge des Strings minus 1.
Die indexOf()-Methode unterscheidet zwischen Groß- und Kleinschreibung. Zum Beispiel gibt der folgende Ausdruck -1 zurück:
Vorkommen prüfen
Wenn geprüft werden soll, ob ein bestimmter Teilstring innerhalb eines Strings vorkommt, ist der korrekte Weg zu prüfen, ob der Rückgabewert -1 ist.
Rückgabewert bei Verwendung eines leeren Suchstrings
Die Suche nach einem leeren Suchstring liefert seltsame Ergebnisse. Ohne zweites Argument oder mit einem zweiten Argument, dessen Wert kleiner als die Länge des aufrufenden Strings ist, entspricht der Rückgabewert dem Wert des zweiten Arguments. Bei einem zweiten Argument, dessen Wert jedoch größer oder gleich der Länge des Strings ist, ist der Rückgabewert die Länge des Strings. Im ersten Fall verhält sich die Methode so, als hätte sie direkt nach der im zweiten Argument angegebenen Position einen leeren String gefunden. Im zweiten Fall verhält sich die Methode so, als hätte sie am Ende des aufrufenden Strings einen leeren String gefunden.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $searchString Pflicht | string | — | Zu suchender Teilstring. Alle Werte werden zu Strings coerced, sodass das Weglassen oder Übergeben von undefined dazu führt, dass indexOf() nach dem String "undefined" sucht, was selten das gewünschte Verhalten ist. |
| $position | number | 0 | Die Methode gibt den Index des ersten Vorkommens des angegebenen Teilstrings an einer Position größer oder gleich position zurück, standardmäßig 0. Ist position größer als die Länge des aufrufenden Strings, durchsucht die Methode den aufrufenden String überhaupt nicht. Ist position kleiner als null, verhält sich die Methode, als ob position 0 wäre. |
Rückgabewert
searchString oder -1, falls nicht gefunden.Beispiele
Verwendung von indexOf()
const str = "Brave new world";
console.log(str.indexOf("w")); // 8
console.log(str.indexOf("new")); // 6
indexOf() und Groß-/Kleinschreibung
const myString = "brie, pepper jack, cheddar";
const myCapString = "Brie, Pepper Jack, Cheddar";
console.log(myString.indexOf("cheddar")); // 19
console.log(myCapString.indexOf("cheddar")); // -1
Verwendung von indexOf() zum Zählen der Vorkommen eines Buchstabens in einem String
const str = "To be, or not to be, that is the question.";
let count = 0;
let position = str.indexOf("e");
while (position !== -1) {
count++;
position = str.indexOf("e", position + 1);
}
console.log(count); // 4
Leerer Suchstring
"hello world".indexOf(""); // returns 0
"hello world".indexOf("", 0); // returns 0
"hello world".indexOf("", 3); // returns 3
"hello world".indexOf("", 8); // returns 8
"hello world".indexOf("", 11); // returns 11
"hello world".indexOf("", 13); // returns 11
"hello world".indexOf("", 22); // returns 11
Nullbasierte Indizierung
"Blue Whale".indexOf("Blue"); // returns 0
"Blue Whale".indexOf("Wale"); // returns -1
"Blue Whale".indexOf("Whale", 0); // returns 5
"Blue Whale".indexOf("Whale", 5); // returns 5
"Blue Whale".indexOf("Whale", 7); // returns -1
"Blue Whale".indexOf(""); // returns 0
"Blue Whale".indexOf("", 9); // returns 9
"Blue Whale".indexOf("", 10); // returns 10
"Blue Whale".indexOf("", 11); // returns 10
Groß-/Kleinschreibung
"Blue Whale".indexOf("blue"); // returns -1
Vorkommen prüfen
"Blue Whale".indexOf("Blue") !== -1; // true; found 'Blue' in 'Blue Whale'
"Blue Whale".indexOf("Wale") !== -1; // false; no 'Wale' in 'Blue Whale'