Arrays 📚

Bisher haben wir nur mit Werten von sogenannten primitiven Datentypen (Strings, Numbers, Booleans) gearbeitet. Es gibt noch eine weitere Art: composite Typen — Datentypen, die aus mehreren Werten zusammengesetzt sind.

Der erste composite Datentyp, den wir uns anschauen, ist Array (Liste).

Basics

Ein Array ist ein Wert, der eine beliebig lange Liste von Werten enthält. Ein Array wird mit eckigen Klammern [] geschrieben, mit den enthaltenen Werten innerhalb der Klammern, durch Kommas getrennt:

Der Array selbst ist ein ganz normaler JavaScript-Wert — du kannst ihn in einer Variable speichern, an Funktionen übergeben, von Funktionen zurückgeben, etc.

Index Access

Auf einzelne Elemente eines Arrays greifst du mit dem Index zu — die Position in eckigen Klammern. Achtung: der erste Index ist 0, nicht 1!

Index Assignment

Mit derselben Notation kannst du Elemente auch überschreiben — einfach mit = einen neuen Wert zuweisen.

Array Builtins

Arrays haben — ähnlich wie Strings — viele builtin Methoden und Properties. Einige davon heißen und funktionieren sogar genauso wie bei Strings:

  • .length — eine Property (kein () dahinter), enthält die Anzahl der Elemente
  • .includes(x) — eine Funktion, gibt zurück, ob der übergebene Wert im Array enthalten ist
  • .indexOf(x) — gibt die Position des Wertes zurück, oder -1, falls er nicht enthalten ist
  • .slice(start, end) — gibt den entsprechenden Teilbereich des Arrays als neuen Array zurück (genau wie .substring auf Strings)

Elemente hinzufügen und entfernen

  • .push(x) — fügt x ans Ende an
  • .unshift(x) — fügt x an den Anfang an
  • .pop() — entfernt das letzte Element und gibt es zurück
  • .shift() — entfernt das erste Element und gibt es zurück

Beliebige Werte — verschachtelte Arrays

In einem Array können auch andere Arrays stehen. Damit lassen sich z.B. zweidimensionale Daten wie ein Tic-Tac-Toe-Brett darstellen:

for of-Loops

Da man beim Programmieren sehr häufig einen Loop schreiben muss, um irgendetwas mit jedem Element eines Arrays zu tun, gibt es hierfür eine spezielle Kurzform — den for of-Loop:

Die allgemeine Form ist for (const <name> of <array>) { <body> }, wobei <name> der Name der neuen lokalen Variable ist, die automatisch pro Durchlauf das aktuelle Element des Arrays enthält.


Übung 🎯 — filterStrings

Schreib eine exportierte Funktion filterStrings(arr), die einen Array aus Strings entgegennimmt und einen neuen Array aus Strings zurückgibt. Der neue Array soll alle Strings enthalten, die

  • mindestens 5 Zeichen lang sind oder
  • mit "S" anfangen

— und das in umgekehrter Reihenfolge.

Beispiel: filterStrings(["Kugelschreiber", "Salz", "Maus"]) soll ["Salz", "Kugelschreiber"] zurückgeben.

💡 Tipp anzeigen
  • Iteriere mit for of durch den Array.
  • Bau dir einen leeren result-Array auf und benutze .push für die Treffer.
  • Am Ende mit .reverse() umdrehen — oder direkt mit .unshift einfügen.
  • String-Länge: .length. Erstes Zeichen prüfen: s[0] === "S" oder s.startsWith("S").

Geschafft! 🚀

Du beherrschst jetzt:

  • Arrays als zusammengesetzte Datenstruktur
  • Index-Zugriff und -Zuweisung
  • Builtins: .length, .includes, .indexOf, .slice, .push, .pop, .shift, .unshift
  • Verschachtelte Arrays
  • for of-Loops

Als Nächstes: String-Builtins →

Zurück zur Übersicht