Skip to content

Introduction to Arrays

JavaScript packt Listen in Arrays.

Ein leerer Array kann einfach mit einer eckigen Klammer [] angelegt werden - oder er wird gleich beim Anlegen mit Elementen befüllt. Die einzelnen Elemente werden durch Kommas getrennt:

const emptyArray = [];
const groceriesToBuy = ['cabbage', 'tomato sauce', 'salmon'];

Arrays können alle validen JavaScript Werte enthalten: Primitives wie Strings, Numbers, Booleans, aber auch Objekte, weitere Arrays und sogar Funktionen.

const strings = ['one', 'two', 'three'];
const numbers = [1, 2, 3, 4];
const booleans = [true, false, false, true];
// zur besseren Übersicht kann jedes Item in eine eigene Zeile geschrieben werden:
const objects = [
{ firstName: 'Peter', lastName: 'Alexander'},
{ firstName: 'Waltraud', lastName: 'Haas'},
];
const arrays = [
[1, 2, 3],
[4, 5, 6],
];

Da Arrays Objekte sind, haben sie Eigenschaften und Methoden. Mit der length Property erhält man die Anzahl der Elemente in einem Array:

const myArray = ['one', 'two', 'three', 'four', 'five'];
console.log(myArray.length); // 5

Die Elemente in einem Array werden intern durchnummeriert. Jedes Element steht an einer bestimmten Position. Diese Position wird Index genannt. Der Index von Arrays ist zero-based, das heißt, die Nummerierung beginnt bei 0. Mit dem Index kann man auf alle Elemente im Array direkt zugreifen.

// n is the index
const itemN = myArray[n];

Um den Wert eines bestimmten Elements im Array zu erhalten, schreibt man den Namen des Arrays, gefolgt von einer eckigen Klammer mit dem Index des gewünschten Elements.

const firstItem = myArray[0]; // one
const secondItem = myArray[1]; // two
const thirdItem = myArray[2]; // three
const fourthItem = myArray[3]; // four
const fifthItem = myArray[4]; // five
// if the given index is higher than the number of items in the array,
// the result is undefined
const tenthItem = myArray[9]; // undefined

Wenn wir den Wert des letzten Elements eines Arrays brauchen, können wir uns mit der Eigenschaft length behelfen. Wir möchten ja nicht alle Elemente durchzählen. Wir können einfach den Ausdruck myString.length als Index verwenden. Allerdings müssen wir davon noch die Zahl 1 abziehen. Der Index zählt von Null weg und stimmt daher nicht mit der Länge des Arrays überein. Der letzte Index ist also immer um eins weniger als Array.length.

// getting the last item from the array
const lastItem = myArray[myArray.length - 1];
console.log(lastItem); // five
// getting the second last item from the array
const secondLastItem = myArray[myArray.length - 2];
console.log(secondLastItem); // four

Wenn wir den Wert eines Elements ändern wollen, können wir dem Element direkt einen neuen Wert zuweisen, indem wir den Index des gewünschten Elements angeben. Zuweisen bedeutet, wir verwenden den Operator =.

// changing the value of an item by assigning a new one
myArray[0] = 1;
console.log(myArray); // 1, two, three, four, five

Wenn wir einen Index verwenden, der größer ist als die Anzahl der Elemente in einem Array, dann “befüllt” JavaScript die leeren Plätze mit undefined (bzw. empty in Google Chrome).

myArray[10] = 'ten';
console.log(myArray); // 1, two, three, four, five, <3 empty slots>, ten
console.log(myArray[9]); // undefined