Array Deklaration
Ein Array ist eine geordnete Menge von Werten, auf die mit einem ganzzahligen Index zugegriffen werden kann.
Die Array-Werte müssen nicht vom gleichen Typ sein, so kann ein Array z.B. Strings Numbers Boolean usw enthalten.
Es gibt zwei Möglichkeiten um ein Array in JavaSript zu deklarieren:
- Als Literal
- Mit dem Schlüsselwort new
Array-Beispiele
let arr = ["element1", "element2", "element3"];
let arr = new Array("element1", "element2", "element3");
In der literalen Version werden nach dem Namen und der Zuweisung Werte in eckigen Klammern geschrieben, getrennt mit einem Komma.
Jeder Eintrag bekommt intern automatische eine Nummer (Index), beginnend bei Null (0).
Das Schlüsselwort new bietet eine weitere Möglichkeit ein Array zu erstellen (Array-Konstruktor).
Hier sind die Klammern rund und auch in diesem Array bekommt jeder Eintrag einen Index.
In jedem Fall liefert der Operator typeof nicht array wie man vielleicht vermuten würde, sondern object.
typeof arr; //liefert object
Verwenden sie die Browser-Konsole um JavaScript Code auf dieser Seite zu testen.
Ein Array erzeugen
Der Vorteil von Arrays besteht in erster Linie dadurch, dass sie mehrere Werte in einer Variablen aufnehmen können.
Array-Elemente werden mit einem Komma getrennt, Textelemente müssen in Anführungszeichen stehen.
Achtung bei der Schreibweise in der literalen Version: Eckige Klammern!
Der Aufruf von Arrays erfolgt über den Variablennamen und dem Index in eckigen Klammern. Der Index von JavaSript Arrays beginnt immer bei 0.
let script = ["HTML", "CSS", "JavaScript", "PHP"];
script[1]; // liefert CSS
Ein leeres Array erzeugen
Ein Array kann auch ohne Inhalt erzeugt und später befüllt werden.
let script = []; // Literal
let script = new Array(); // Mit new (Konstruktor)
script[0] = "HTML";
script[1] = "CSS";
script[2] = "JavaScript";
script[3] = "PHP";
script[0]; //liefert HTML
Die length -Eigenschaft
Die length -Eigenschaft eines Arrays gibt die Länge eines Arrays zurück (die Anzahl der Array-Elemente). Achtung, die Zählung beginnt
hier bei eins (1).
let script = ["HTML", "CSS", "JavaScript", "PHP"];
script.length; // liefert 4
Achtung bei der Initialisierung von einem Array mit nur einem Element und das Element ist auch noch eine Zahl.
// Erzeugt ein Element mit dem Wert 15:
let arr = [15];
// Erzeugt ein Array mit 15 Einträgen undefined
let arr = new Array(15);
// Dasselbe noch einmal als Literal
let arr = [];
arr.length = 15;
Arrays mit unterschiedlichen Datentypen
Arrays sind auch Objekte und können Variablen mit unterschiedlichen Objekt-Typen aufnehmen.
Arrays können z.B. Objekte, Funktionen, Arrays usw. beinhalten.
let myFunction = function() {return "Hallo Welt"};
let myObject = { firstName:"Adi", lastName:"Prinz", age:60 };
let myArray = ["Hallo", 65, false];
let myDate = new Date(1955, 3, 13);
myFunction = myFunction();
myObject = myObject.firstName;
myArray = myArray[0];
let myArr = [];
myArr[0] = myDate; // Datum
myArr[1] = myFunction; // Eine Funktion
myArr[2] = myObject; // Ein Object
myArr[3] = "Ein Text"; // String
myArr[4] = 25 // Number
myArr[5] = true // Boolean
myArr[6] = myArray // Array
myArr[6]; // liefert Hallo
Mehrdimensionale Arrays
JavaScript-Arrays können auch mehrdimensional sein. Werte eines Arrays können wiederum Arrays sein.
Assoziative Arrays (wie z.B. in PHP) sind in JavaScript mit Array-Objekten nicht möglich.
JavaScript-Arrays erlauben den Zugriff auf die Elemente nur über den Index.
let Person = [];
Person[0] = new Array();
Person[0][0] = "Adi";
Person[0][1] = "Prinz";
Person[0][2] = "Badhofgastein";
Person[1] = new Array();
Person[1][0] = "Harald";
Person[1][1] = "Maier";
Person[1][2] = "Salzburg";
Person[2] = new Array();
Person[2][0] = "Julia";
Person[2][1] = "Müller";
Person[2][2] = "Moskau";
Person[2][0]; // liefert Julia
Arrays mit einer for Schleife erzeugen
Im nächsten Beispiel wird ein Array mit 4 Elementen definiert.
Dann wird in einer for-Schleife für jedes dieser Elemente ein neues Array mit 3 Elementen definiert.
Anschließend wird das zweite Element [1] im vierten Array [3] angesprochen und der Wert "Hallo Welt" zugewiesen.
let arr = new Array(4);
for (let i = 0; i < arr.length; ++i) {
arr[i] = new Array(3);
}
arr[3][1] = "Hallo Welt";
arr[3][1];