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