====== LU04.A04 - Mehrdimensionale Arrays mit Attributbezeichner ====== ===== Auftrag A: Array anlegen ===== Legen Sie ein mehrdimensionales Array mit dem Namen //Actors// an, wobei Sie dieses Mal die Attributnamen zusätzlich verwenden: ^ Name ^Vorname ^Geburtstaname^ Geburtstag ^Zivilstand ^Anrede ^Rabatt ^ | Müller-Stahl | Armin | --- | 12.03.1956| Geschieden | Herr | 5 | | Page | Elliot | Ellen | 14.03.1996 | Ledig | Herr | 10 | | Wurst | Conchitta | Tom | 06.11.1988 | --- | --- | 15 | | Redford | Robert | --- | 18.08.1936 | Verheiratet | Herr | 25 | **Lösung** let actors = [ {name: 'Müller-Stahl', vname: 'Armin' , gname: '---' , gtag: '12.03.1956', zivilst: 'geschieden', anrede: 'Herr', rabatt: 5}, {name: 'Page' , vname: 'Elliot', gname: 'Ellen', gtag: '14.03.1996', zivilst: '---', anrede: 'Herr', rabatt: 10}, {name: 'Wurst' , vname: 'Conchitta', gname: 'Tom', gtag: '06.11.1988', zivilst: '---', anrede: '---', rabatt: 15}, {name: 'Redford' , vname: 'Robert', gname: '---', gtag: '18.08.1936', zivilst: 'Verheiratet', anrede: 'Herr', rabatt: 25} ]; console.log(actors); ===== Auftrag B: Array ausgeben ===== Lassen Sie sich den Tabelleninhalt in umgekehrter Reihenfolge ausgeben, sprich Sie beginnen beim Index 3 und enden beim Index 0. Verwenden Sie, um herauszubekommen wievele Arrayelemente wirklich vorhanden sind, die Eigenschaft //array.length//. **Lösung** let arrLen = actors.length; /* ermitteln der Länge des Arrays */ console.log("ArrayLänge Actors: ", arrLen); console.log("Actors-zeile 4: ", actors[3]); console.log("Actors-zeile 3: ", actors[2]); console.log("Actors-zeile 2: ", actors[1]); console.log("Actors-zeile 1: ", actors[0]); ===== Auftrag C: einzelne Werte verändern ===== Elliot Page hat geheiratet und erhält daher 5% mehr Rabatt als vorher. Lassen Sie sich zur Kontrolle zunächst den einzelnen Datensatz, und anschliessend den gesammten Datenbestand ausgeben. **Lösung** console.clear(); // Monitor wird bereinigt console.log("Vor Anpassung des Rabatts: : ", actors[1]); actors[1].rabatt = 15; // Variante 2: Nehme den alten Rabatt und erhöhe um 5% ===== Auftrag D: Wert am Anfang ergänzen ===== Ergänzen Sie am Anfang des Arrays einen neuen Kunden: Herr Sidartha Gupta, 12.12.1969, verwittwet. Fehlende Werte ergänzen Sie mit "---" bzw. 0. Kontrollieren Sie Ihr Ergebnis durch eine Ausgabe in der Console. **Hinweis**: //unshift()// ist die Methode, die Sie benötigen. **Lösung** actors.unshift({name: 'Sidartha', vname: 'Gupta', gname: '---', gtag: '12.12.1969', zivilst: 'verwittwet', anrede: "Herr", rabatt: 0}); console.log("Am Anfang wird Datensatz angehängt: ", actors); ===== Auftrag E: Wert am Anfang ergänzen ===== Ergänzen Sie am Ende des Arrays einen neuen Kunden: Frau Sydney Sweeney, 12.09.1997, ledig. Prüfen Sie das Ergebnis durch eine Consolenausgabe. **Hinweis**: //push()// ist die Methode, die Sie benötigen. **Lösung** actors.push({name: 'Sweeny', vname: 'Sydney', gname: '---', gtag: '12.19.1997', zivilst: 'ledig', anrede: 'Frau', rabatt: 0}); console.log("Am Anfang wird Datensatz angehängt: ", actors); ===== Auftrag F: Wert in der Mitte löschen ===== Robert Redford ist leider verstorben und muss aus der Liste gelöscht werden. Lassen Sie sich wieder alle Daten ausgeben, sicher ist sicher. **Lösung** actors.splice(4,1); console.log("Nach dem Löschen: ", actors); ===== Auftrag G: Formatierte Ausgabe ===== Lassen Sie abschliessend die Daten wie folgt auf der Konsole ausgeben: - Anrede - Vorname - Nachname (in Grossbuchstaben) - Rabatt - Geburtstag - Zivielstand Hinweis: * Für die Grossbuchstaben-Darstellung benötigen Sie die Methode //toUpper// * Beispiel: //Employee[0][1].toUpperCase());// **Lösung** arrLen = actors.length; //ermitteln der Länge des Arrays console.log("ArrayLänge Actors: ", arrLen); console.log(actors[0].anrede, actors[0].vname, actors[0].name.toUpperCase(), actors[0].rabatt, actors[0].gtag, actors[0].zivilst ); console.log(actors[1].anrede, actors[1].vname, actors[1].name.toUpperCase(), actors[1].rabatt, actors[1].gtag, actors[1].zivilst ); console.log(actors[2].anrede, actors[2].vname, actors[2].name.toUpperCase(), actors[2].rabatt, actors[2].gtag, actors[2].zivilst ); console.log(actors[3].anrede, actors[3].vname, actors[3].name.toUpperCase(), actors[3].rabatt, actors[3].gtag, actors[3].zivilst ); ===== Gesamtlösung ====== {{:de:modul:m288:learningunits:lu03:loesungen:lu04_l04.png?800|Gesamtlösung des Codes}} ---- [[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Volkan Demir