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"
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
".
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.
console.log(werkzeugkoffer);
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.
console.log(werkzeugkoffer[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.
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.
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.
console.log(werkzeugkoffer[3]);
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.
console.log(werkzeugkoffer[3][2]);
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
werkzeugkoffer = [
'Zange',
'Hammer',
'Schraubendreher',
[
['Holzbohrer', 8, 10, 12],
['Metallbohrer', 8, 10, 12],
['Steinbohrer', 8, 10, 12]
]
];
Um einen Wert abzufragen, verwenden wir wieder einfach die eckigen Klammern.
console.log(werkzeugkoffer[3][2][3]);
Die Konsole gibt nun die Zahl "12" vom Typ Number aus.
Mit Arrays arbeiten
Arrays können auch mit einer Konstruktorfunktion erstellt werden.
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:
let namen = new Array(10);
Wenn wir in der Konsole die Länge des Arrays anfragen, bekommen wir den Wert "10" zurück.
Wenn auch die Werte bereits bekannt sind, können auch diese direkt als Argumente übergeben werden:
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.
let namen = []; // Leeres Array
Oder als Array 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:
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.
console.log(vereinsfreunde[1]);
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