Ein Array durchsuchen
Steht ein Name auf der Gästeliste? An welcher Stelle der Schlange steht jemand? Zwei Methoden beantworten solche Fragen.
Die Methode includes() findet heraus, ob ein Array einen Wert enthält. Sie gibt true zurück, wenn ja, und false, wenn nein:
const gaeste = ["Anna", "Tom", "Lena"];
console.log(gaeste.includes("Tom"));
console.log(gaeste.includes("Paul"));Das gibt Folgendes aus:
true
falseEin Boolean ist genau das, was eine Bedingung braucht, deshalb wird includes() am häufigsten mit if verwendet:
const gaeste = ["Anna", "Tom", "Lena"];
const besucher = "Tom";
if (gaeste.includes(besucher)) {
console.log("Komm rein!");
} else {
console.log("Leider stehst du nicht auf der Liste.");
}Das gibt Folgendes aus:
Komm rein!Die Methode indexOf() sagt dir, wo ein Wert steht: Sie gibt seinen Index zurück. Ist der Wert nicht im Array, gibt sie -1 zurück. Warum -1? Weil Indizes bei 0 beginnen, kann -1 nie ein echter Index sein:
const warteschlange = ["Anna", "Tom", "Lena"];
console.log(warteschlange.indexOf("Lena"));
console.log(warteschlange.indexOf("Paul"));Das gibt Folgendes aus:
2
-1Die Bedingung warteschlange.indexOf("Paul") === -1 bedeutet also „Paul steht nicht in der Schlange“. Für eine einfache Ja-Nein-Frage liest sich includes() aber besser.
Beide Methoden vergleichen genau, wie ===. gaeste.includes("tom") gibt false zurück, weil "tom" mit kleinem t nicht derselbe Text ist wie "Tom".
So schreibst du es:
Anweisungen
- 1
Schreibe eine
if-Anweisung mit der Bedingunggaeste.includes(besucher), dieKomm rein!ausgibt, wenn die Bedingung wahr ist. Lena steht auf der Liste, also gibt das ProgrammKomm rein!aus. - 2
Füge einen
else-Zweig hinzu, derLeider stehst du nicht auf der Liste.ausgibt. Ändere dann den Wert vonbesucherauf"Paul"(in der Zeileconst besucher = "Lena";). Paul steht nicht auf der Liste, also soll das Programm jetztLeider stehst du nicht auf der Liste.ausgeben. - 3
Gib unter der
if-Anweisung mitconsole.log(gaeste.indexOf("Max"));den Index von"Max"aus und dann auf dieselbe Weise den Index vonbesucher. Die Konsole soll3und-1zeigen.