Arrays
Ziele
- Du weisst, wie man ein Array/eine Liste erstellt und updated.
- Du weisst, wie man durch Arrays iteriert, und welcher Ansatz welche Vor-/Nachteile besitzt.
Arrays Basics
Ein Array ist eine Datenstruktur in JavaScript, die eine geordnete Sammlung von Elementen speichert. Ein Array kann verschiedene Datentypen speichern, einschliesslich Zahlen, Zeichenketten und Objekten. 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 eckigen 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ängisten davon sind for
, forEach
und for of
For-Loop
Der for Loop ist eine Loop, mit der man eine bestimmte Anzahl von Loop durchläufen ausführen kann. Der for Loop wird oft verwendet, um durch Arrays zu iterieren oder um eine Aktion eine bestimmte Anzahl von Malen auszuführen.
|
|
break
Das break
-Statement wird verwendet, um den 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 durch jedes Element des Arrays nacheinander zu iterieren. Der forEach
-Loop ist eine kürzere Schreibweise, um durch ein Array zu iterieren.
Man kann es in JavaScript mit der function()
lösen:
|
|
Wie in Kapitel Functions beschrieben, kann auch eine Arrow-Function verwendet werden:
|
|
Im Gegensatz zum for
Loop bietet die forEach
-Methode 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 dafür ausgelegt, Arrays oder andere iterierbare Objekte wie Maps, Sets, Strings usw. 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 austauschen
Die Methode slice()
entfernt Elemente aus einem Array und fügt neue Elemente an ihrer Stelle ein. Die splice()
Methode nimmt drei Parameter an:
- den Index, an dem man beginnen möchten,
- die Anzahl der Elemente, die man entfernen möchten, und
- die neuen Elemente, die man einfügen möchte.
|
|
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 zusammenmergen.
|
|
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.
|
|