Arrays

Arrays dienen dazu, mehrere Werte in eine Variable zu Deklarieren.

Wir verwenden zur Demonstration der Arrays einen Werkzeugkoffer, den wir mit mehreren Werkzeugen bestücken. Dazu erstellen wir eine Variable mit dem Namen "werkzeugkoffer"

Variable erstellen

let werkzeugkoffer;

Nun haben wir einen leeren Koffer.


Eingeleitet werden Arrays mit den eckigen Klammern. Die Klammern werden mit der Tastenkombination Alt Gr und der Taste 8 oder 9 erzeugt.

Dann wollen wir mal den Koffer mit Inhalt füllen. Dazu sprechen wir die erstellte Variable "werkzeugkoffer" an und vergeben nach dem Zuweisungsoperator (=) die eckigen Klammern und schreiben zwischen den Klammerpaar die Zeichenketten: "Zange", "hammer", "Schraubendreher" und "Bohrer".

Array erzeugen

werkzeugkoffer = ['Zange', 'Hammer', 'Schraubendreher', 'Bohrer'];

Die 4 einzelnen Zeichenketten werden jeweils mit einem Komma voneinander getrennt. Nach der schließenden eckigen Klammer setzen wir noch ein Semikolon, um die Anweisung zu beenden. Nun können wir über die Konsole den Inhalt des Array "werkzeugkoffer" ausgeben lassen.

Inhalt von werkzeugkoffer ausgeben lassen

console.log(werkzeugkoffer);
Array wird in der Konsole ausgegeben

Index

Jedes Element innerhalb eines Arrays steht an einem bestimmten Index, also an einer bestimmten Position.

In der Informatik ist es üblich, dass mit der Zahl "0" begonnen wird zu zählen. Das bedeutet unsere "Zange" steht an Index "0" und der "Hammer" an Index "1", der "Schraubendreher" an Index "2" und der "Bohrer" an Index "3". Das erkennt man auch an den vorstehenden Zahlen in der Abbildung. Um ein Werkzeug gezielt aus dem Koffer anzusprechen, können wir nach dem Variablennamen in den eckigen Klammern den Index des Werkzeugs angeben, welches wir benötigen.

Inhalt von werkzeugkoffer ausgeben lassen

console.log(werkzeugkoffer[0]);
Gezielter Zugriff auf erstes Werzeug auf Index 0

In diesem Beispiel können wir die Zahl in der Klammer bis auf maximal 3 erhöhen. Die Abfrage nach einem Index "[4]", also einem 5ten Element im Array, gibt uns kein Werkzeug mehr aus, weil die Position "[4]" zum Zeitpunkt nicht in der Variablen "werkzeugkoffer" belegt ist.

Es wird nichts ausgegeben weil es kein Index 4 gibt

Mehrdimensionale Arrays

Arrays können auch mehrdimensional erstellt werden.

In der ersten Ebene oder ersten Dimension steht unser Werkzeugkoffer, der 4 Werkzeuge enthält. In der nächsten Ebene oder Dimension können die Werkzeuge aber selber auch Arrays enthalten, und diese Arrays können auch wieder Arrays enthalten usw. Zur Verdeutlichung erstellen wir so ein mehrdimensionales Array.

Mehrdimensionales Array

werkzeugkoffer = [
 'Zange',
 'Hammer',
 'Schraubendreher',
 ['Holzbohrer', 'Metallbohrer', 'Steinbohrer']
];

Es wird wie ein normales Array erstellt, nur das es in einem anderen Array drin steht. Wenn wir über die Konsole den Index "[3]" von "werkzeugkoffer" ausgeben lassen, dann bekommen wir das gesamte Array ausgegeben.

Index 3 von werkzeugkoffer ausgeben lassen

console.log(werkzeugkoffer[3]);
Das Array im Array wird ausgegeben

Um jetzt einen bestimmten Bohrer einzeln anzusprechen, schreiben wir ganz einfach direkt hinter der eckigen Klammer eine weitere eckige Klammer mit dem benötigten Index.

Erweiterter Index von werkzeugkoffer ausgeben lassen

console.log(werkzeugkoffer[3][2]);
Ein noch genauerer Zugriff auf das Werkzeug

Diese Mehrdimensionalität kann uneingeschränkt erweitert werden.


Verschiedene Datentypen

In JavaScript können auch verschiedene Datentypen innerhalb eines Arrays deklariert werden.

Das bedeutet, dass nicht nur Strings, sondern auch boolesche Werte oder Zahlen innerhalb eines Arrays deklariert werden können. Zur Verdeutlichung erstellen wir eine weitere Ebene / Dimension in dem Array werkzeugkoffer

Mehrdimensionales Array

werkzeugkoffer = [
 'Zange',
 'Hammer',
 'Schraubendreher',
 [
  ['Holzbohrer', 8, 10, 12],
  ['Metallbohrer', 8, 10, 12],
  ['Steinbohrer', 8, 10, 12]
 ]
];
Mehrdimensionales Array mit steigender Werkzeugauswahl

Um einen Wert abzufragen, verwenden wir wieder einfach die eckigen Klammern.

Erweiterten Index von werkzeugkoffer ausgeben lassen

console.log(werkzeugkoffer[3][2][3]);
Der Bohrer in Größe 12 wird ausgegeben

Die Konsole gibt nun die Zahl "12" vom Typ Number aus.


Mit Arrays arbeiten

Arrays können auch mit einer Konstruktorfunktion erstellt werden.

Instanz erstellen und in Variable speichern

let namen = new Array();

Wenn von Anfang an die Länge des Arrays bekannt ist, dann kann man diesen Wert auch direkt als Argument mit übergeben:

Instanz erstellen und Inhalt vorgeben

let namen = new Array(10);

Wenn wir in der Konsole die Länge des Arrays anfragen, bekommen wir den Wert "10" zurück.

Rückgabewert ist 10

Wenn auch die Werte bereits bekannt sind, können auch diese direkt als Argumente übergeben werden:

Instanz erstellen und Inhalt vorgeben

let namen = new Array('Alex', 'Klaus', 'Bernd');

Die Angaben zu Größe des Index oder den Werten bei der Deklaration ist nur optional, weil sich Arrays dynamisch verändern können, kann man diese Angaben beruhigt weglassen.


Wir können Arrays aber auch wie bisher mit der "Array-Literal-Schreibweise" erstellen.

Array-Literal-Schreibweise

let namen = []; // Leeres Array

Oder als Array mit Werten:

Array-Literal-Schreibweise mit Werten

let namen = ['Alex', 'Klaus', 'Bernd'];

Bei der "Array-Literal-Schreibweise" haben wir den Vorteil, dass wir sie mit der "Objekt-Literal-Schreibweise" kombinieren können und dadurch können wir ganz einfach ein Array mit mehreren Objekten erstellen:

Objekt-Literal-Schreibweise mit Array-Literal-Schreibweise kombiniert

let vereinsfreunde = [
 {
  vorname: 'Alex',
  nachname: 'Schröder',
  tel: 123,
 },
 {
  vorname: 'Klaus',
  nachname: 'Müller',
  tel: 456,
 },
 {
  vorname: 'Bernd',
  nachname: 'Schneider',
  tel: 789,
 }
];

Arrays verfügen wie auch Objekte über mehrere Wertpaare. Bei den Arrays wird typisch für die Programmierung bei "0" angefangen zu zählen. Also ist der erste Eintrag der 0-te Index des Arrays.

Index 1 von vereinsfreunde ausgeben lassen

console.log(vereinsfreunde[1]);
Der Index 1 von vereinsfreunde wird ausgegeben

Es gibt einige Methoden, die auf Arrays angewendet werden können, um Elemente anzuhängen, zu entfernen, zu schneiden, umzudrehen, in Zeichenketten zu verwandeln, zu sortieren und noch einiges mehr.


Weiter mit Objekte