LU01c - Arrays und Objekte
In JavaScript sind Arrays und Objekte die beiden wichtigsten Datentypen für die Speicherung und Strukturierung von Daten. Während Arrays geordnete Sammlungen von Elementen sind, bieten Objekte eine Möglichkeit, Daten in Schlüssel-Wert-Paaren zu organisieren. Beide Datentypen sind äußerst flexibel und ermöglichen komplexe Datenstrukturen und Operationen.
Arrays
Ein Array ist eine geordnete Liste von Werten, wobei jedes Element über einen numerischen Index angesprochen wird. Arrays können jede Art von Daten enthalten, einschließlich anderer Arrays und Objekte.
Erstellen eines Arrays
Ein Array kann auf verschiedene Arten erstellt werden:
const zahlen = [1, 2, 3, 4, 5]; const gemischt = [1, "Hallo", true, null, undefined];
In diesen Beispielen wird das Array zahlen mit einer Liste von Zahlen und das Array gemischt mit Werten unterschiedlicher Datentypen erstellt.
Zugriff auf Array-Elemente
Um auf ein bestimmtes Element in einem Array zuzugreifen, verwendest du den Index des Elements, wobei der Index bei 0 beginnt:
console.log(zahlen[0]); // 1 console.log(gemischt[1]); // "Hallo"
Methoden zum Hinzufügen neuer Werte in ein Array
push(): Am Ende des Arrays hinzufügen
Die Methode push() fügt ein oder mehrere Elemente an das Ende des Arrays an.
zahlen.push(6); console.log(zahlen); // [1, 2, 3, 4, 5, 6]
unshift(): Am Anfang des Arrays hinzufügen
Die Methode unshift() fügt ein oder mehrere Elemente an den Anfang des Arrays an.
zahlen.unshift(0); console.log(zahlen); // [0, 1, 2, 3, 4, 5, 6]
Direkte Zuweisung eines Werts
Du kannst auch direkt einen Wert an einer bestimmten Position eines Arrays zuweisen, indem du den Index angibst.
zahlen[7] = 7; console.log(zahlen); // [0, 1, 2, 3, 4, 5, 6, 7]
splice(): An beliebiger Position hinzufügen oder löschen
Die Methode splice() erlaubt das Einfügen, Ersetzen oder Löschen von Elementen an einer beliebigen Stelle im Array.
zahlen.splice(3, 0, 10); // An Index 3 einfügen, ohne Elemente zu löschen console.log(zahlen); // [0, 1, 2, 10, 3, 4, 5, 6, 7]
concat(): Arrays kombinieren
Die Methode concat() kombiniert zwei oder mehr Arrays zu einem neuen Array.
const mehrZahlen = [8, 9]; const alleZahlen = zahlen.concat(mehrZahlen); console.log(alleZahlen); // [0, 1, 2, 10, 3, 4, 5, 6, 7, 8, 9]
Spread-Syntax (...): Ein Array in ein anderes Array einfügen
Die Spread-Syntax ermöglicht das Einfügen eines Arrays in ein anderes Array:
const nochMehrZahlen = [11, 12]; const neuesArray = [...alleZahlen, ...nochMehrZahlen]; console.log(neuesArray); // [0, 1, 2, 10, 3, 4, 5, 6, 7, 8, 9, 11, 12]
Objekte
Ein Objekt in JavaScript ist eine Sammlung von Schlüssel-Wert-Paaren. Jeder Schlüssel (oder auch „Property“) ist ein eindeutiger Bezeichner, und jeder Wert kann ein beliebiger Datentyp sein, einschliesslich anderer Objekte oder Arrays.
Erstellen eines Objekts
Ein Objekt kann durch eine einfache Notation mit geschweiften Klammern erstellt werden:
const person = { name: "Max", alter: 25, beruf: "Entwickler" };
In diesem Beispiel hat das Objekt person drei Eigenschaften: name, alter und beruf, denen entsprechende Werte zugewiesen sind.
Zugriff auf Eigenschaften
Du kannst auf die Eigenschaften eines Objekts entweder über den Punkt-Operator oder die eckigen Klammern zugreifen:
console.log(person.name); // "Max" console.log(person["alter"]); // 25
Methoden zum Hinzufügen oder Ändern von Werten in einem Objekt
Direkte Zuweisung
Du kannst einem Objekt neue Eigenschaften hinzufügen oder bestehende Eigenschaften ändern, indem du einfach einen Wert zuweist.
person.nationalitaet = "Schweizer"; console.log(person.nationalitaet); // "Schweizer"
Spread-Syntax für Objekte
Ähnlich wie bei Arrays kannst du mit der Spread-Syntax ein Objekt duplizieren und neue Eigenschaften hinzufügen.
const neuePerson = { ...person, geschlecht: "männlich" }; console.log(neuePerson); // { name: 'Max', alter: 25, beruf: 'Entwickler', nationalitaet: 'Schweizer', geschlecht: 'männlich' }
Object.assign(): Objekte kombinieren
Die Methode Object.assign() kopiert die Eigenschaften eines oder mehrerer Objekte in ein Zielobjekt.
const weitereEigenschaften = { hobby: "Schwimmen", sprache: "Deutsch" }; Object.assign(person, weitereEigenschaften); console.log(person); // { name: 'Max', alter: 25, beruf: 'Entwickler', nationalitaet: 'Schweizer', hobby: 'Schwimmen', sprache: 'Deutsch' }