Start · Sprachen · JavaScript · Referenz · String.prototype.indexOf()

String.prototype.indexOf()

Methode

Die <code>indexOf()</code>-Methode von <code>String</code>-Werten durchsucht den String und gibt den Index des ersten Vorkommens des angegebenen Teilstrings zurück.

Kategorie: method-property

Signatur

indexOf(searchString) / indexOf(searchString, position)

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

Typ
number
Beschreibung
Der Index des ersten gefundenen Vorkommens von 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'