Arrays
Ziele
- Du weisst, wie man Arrays und Listen erstellt und updated.
- Du weisst, wie man durch Arrays iteriert und welcher Ansatz jeweils welche Vor- oder Nachteile besitzt.
Arrays Basics
Ein Array ist eine Datenstruktur in JavaScript, die eine geordnete Sammlung von Elementen speichert. Ein Array kann verschiedene Datentypen speichern, beispielsweise Zahlen, Zeichenketten und Objekte. Arrays werden in JavaScript durch eckige Klammern []
definiert und die Elemente innerhalb des Arrays werden durch Kommas getrennt.
|
|
Jedes Element im Array hat eine Indexposition, die bei 0 beginnt. Auf die Elemente eines Arrays kann zugegriffen werden, indem der Index des Elements in eckigen Klammern angegeben wird:
|
|
Erstellen
Um ein Array in JavaScript zu erstellen, kann man die eckige Klammern-Notation verwenden und die Elemente durch Kommas trennen.
|
|
Es kann auch ein leeres Array erstellt werden:
|
|
Elemente verändern
Um ein Element an einer bestimmten Position in einem Array anzupassen, wird der entsprechende Index des Elements in eckigen Klammern angeben. Anschliessen kann dieser Wert zugewiesen werden:
|
|
Länge bestimmen
Man kann die Länge (Anzahl der Elemente) eines JavaScript-Arrays mit der Eigenschaft length
bestimmen.
|
|
Iterieren
Um durch ein Array zu iterieren, gibt es mehrere Möglichkeiten. Die gängigsten davon sind for
, forEach
und for of
For-Loop
Der for
-Loop ist ein Loop, mit dem sich eine bestimmte Anzahl von Wiederholungen einer Kontrollstruktur durchlaufen lässt. Er wird häufig genutzt, um durch Arrays zu iterieren oder eine Aktion mehrmals auszuführen.
|
|
break
Das break
-Statement wird verwendet, um einen Loop vorzeitig zu beenden.
|
|
continue
Das continue
-Statement wird verwendet, um den aktuellen Durchlauf des Loops zu überspringen und mit dem nächsten Durchlauf fortzufahren.
|
|
forEach-Loop
forEach
ist eine Methode auf Arrays, um Stück für Stück durch jedes Element des Arrays zu iterieren. Der forEach
-Loop ist eine kürzere Schreibweise, um durch ein Array zu iterieren.
Man kann das in JavaScript mit der function()
lösen:
|
|
Wie in Kapitel Functions beschrieben, kann auch eine Arrow-Function verwendet werden. Grundsätzlich ist die Arrow-Function der Verwendung von function()
vorzuziehen, da diese Schreibweise einfacher zu verstehen ist:
|
|
Im Gegensatz zum for
Loop bietet der forEach
-Loop jedoch weniger Kontrolle über den Loop. Zum Beispiel kann man den Loop nicht mit break
oder continue
unterbrechen oder überspringen. Ausserdem gibt es so keine Möglichkeit, auf den Index jedes Elements im Array zuzugreifen. Wenn man den Index benötigen, müsste man einen Zähler verwenden.
for…of-Loop
Der for (... of ...)
-Loop ist darauf ausgelegt, Arrays oder andere iterierbare Objekte wie Maps, Sets, Strings etc. zu durchlaufen. Dieser Loop ist in der Regel einfacher zu lesen und zu schreiben als ein traditioneller for
-Loop.
|
|
Funktionen
Hinzufügen
Mit der push()
Methode kann man ein Element am Ende des Arrays hinzufügen.
|
|
Letztes Element entfernen
Mit der Methode pop()
kann man das letzte Element aus dem Array entfernen und zurückgeben.
|
|
Erstes Element entfernen
Im Gegensatz zu pop()
verwendet man shift()
um das erste Element aus dem Array entfernen und zurückgeben zu können.
|
|
Elemente am Anfang hinzufügen
Die Methode unshift()
ist das Gegenstück zu der Methode shift()
, mit der ein oder mehrere Elemente am Anfang des Arrays hinzugefügt werden können.
unshift()
gibt die neue Länge des Arrays zurückgibt.
|
|
Elemente an bestimmter Position hinzufügen oder entfernen
Die splice()
-Methode wird verwendet, um Elemente im Array hinzuzufügen oder zu entfernen.
splice()
ändert das ursprüngliche Array und gibt das gelöschte Element oder die gelöschten Elemente zurück.
Beispiel für Elemente löschen:
|
|
Beispiel für Elemente hinzufügen:
|
|
Arrays kombinieren
Die concat()
Methode gibt ein neues Array zurück, das aus der Verkettung (Zusammenführung) von zwei oder mehr Arrays besteht. Man kann somit mehrere Arrays zusammenführen.
|
|
Mehrere Arrays werden wie folgt miteinander verkettet:
|
|
Index eines Elements herausfinden
Um den Index eines bestimmten Elements in einem Array zu finden, wird die Methode indexOf()
verwendet.
Wenn das Element im Array nicht gefunden wird, gibt die Methode den Wert -1 zurück.
Beispiel:
|
|
Beispiel, wenn Element nicht gefunden wird:
|
|
Man kann der Methode auch einen optionalen Parameter hinzufügen, der angibt, ab welchem Index die Suche beginnen soll. Wenn dieser Parameter nicht angegeben wird, wird die Suche ab Index 0 gestartet.
|
|