css mit Adi Prinz

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];

Assoziative Arrays

Im Gegensatz zu anderen Programmiersprachen gibt es in JavaScript keine assoziativen Arrays. JavaScript erlaubt den Zugriff auf die Elemente lediglich über den Index (indiziertes Array).

Objekte in Arrays

Bei assoziative Arrays erfolgt der Zugriff auf einzelne Elemente mit Hilfe einer Zeichenkette. Die Zeichenkette wird als Schlüssel für den Zugriff bezeichnet. Mit einem Trick kann man auch in JavaSript assoziative Arrays simulieren, indem weitere Dimensionen als Object deklariert werden.

let Person = new Array(3);

Person[0] = new Object();
Person[0]["Vorname"] = "Adi";
Person[0]["Nachname"] = "Prinz";
Person[0]["Wohnort"] = "Bad Hofgastein";

Person[1] = new Object();
Person[1]["Vorname"] = "Harald";
Person[1]["Nachname"] = "Prinz";
Person[1]["Wohnort"] = "Salzburg";

Person[2] = new Object();
Person[2]["Vorname"] = "Julia";
Person[2]["Nachname"] = "Prinz";
Person[2]["Wohnort"] = "Moskau";

for (let i = 0; i < Person.length; i++) {
for (let value in Person[i]) {
console.log(Person[i][value]);
}
}

Eigenschaften und Methoden von Arrays

Wenn man den ganzen Umfang von JavaSripct-Arrays nutzen will, muss man Eigenschaften und Methoden von Arrays kennen. Sie finden hier Links für Referenzen der JavaSripct-Eigenschaften und Methoden.

w3schools.com
wiki.selfhtml.org
developer.mozilla.org