====== 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' }