LU04.L06 - Mehrdimensionale Arrays mit Attributbezeichner

/* =====================================================
== Volkan Demir, 09.09.2026
== LUZ04.A06: Arbeiten mit Arrays
== ===================================================== */
 
// =====================================================
// Auftrag A: Mehrdimensionales Array mit Attributnamen
// =====================================================
const Actors = [
  { name: "Müller-Stahl", vorname: "Armin",    geburtsname: "—",     geburtstag: "12.03.1956", zivilstand: "Geschieden",  anrede: "Herr", rabatt: 5 },
  { name: "Page",         vorname: "Elliot",   geburtsname: "Ellen", geburtstag: "14.03.1996", zivilstand: "Ledig",       anrede: "Herr", rabatt: 10 },
  { name: "Wurst",        vorname: "Conchitta",geburtsname: "Tom",   geburtstag: "06.11.1988", zivilstand: "—",           anrede: "—",    rabatt: 15 },
  { name: "Redford",      vorname: "Robert",   geburtsname: "—",     geburtstag: "18.08.1936", zivilstand: "Verheiratet", anrede: "Herr", rabatt: 25 }
];
 
// =====================================================
// Auftrag B: Array in umgekehrter Reihenfolge ausgeben
// =====================================================
console.log("--- Auftrag B: umgekehrte Reihenfolge ---");
console.log(Actors[Actors.length - 1]); // Index 3
console.log(Actors[Actors.length - 2]); // Index 2
console.log(Actors[Actors.length - 3]); // Index 1
console.log(Actors[Actors.length - 4]); // Index 0
 
// =====================================================
// Auftrag C: Einzelne Werte verändern
// Elliot Page hat geheiratet -> Zivilstand ändern, Rabatt +5
// =====================================================
console.log("--- Auftrag C: Elliot Page ---");
Actors[1].zivilstand = "Verheiratet";
Actors[1].rabatt = Actors[1].rabatt + 5;
 
console.log(Actors[1]);     // einzelner Datensatz
console.table(Actors); // gesamter Datenbestand
 
// =====================================================
// Auftrag D: Wert am Anfang ergänzen (unshift)
// =====================================================
console.log("--- Auftrag D: Sidartha Gupta am Anfang ---");
Actors.unshift({
  name: "Gupta", vorname: "Sidartha", geburtsname: "—",
  geburtstag: "12.12.1969", zivilstand: "Verwitwet", anrede: "Herr", rabatt: 0
});
console.table(Actors);
 
// =====================================================
// Auftrag E: Wert am Ende ergänzen (push)
// =====================================================
console.log("--- Auftrag E: Sydney Sweeney am Ende ---");
Actors.push({
  name: "Sweeney", vorname: "Sydney", geburtsname: "—",
  geburtstag: "12.09.1997", zivilstand: "Ledig", anrede: "Frau", rabatt: 0
});
console.table(Actors);
 
// =====================================================
// Auftrag F: Wert in der Mitte löschen (splice)
// =====================================================
console.log("--- Auftrag F: Robert Redford löschen ---");
// Nach unshift() steht Redford an Index 4
Actors.splice(4, 1);
console.table(Actors);
 
// =====================================================
// Auftrag G: Formatierte Ausgabe
// Anrede, Vorname, NACHNAME, Rabatt, Geburtstag, Zivilstand
// =====================================================
console.log("--- Auftrag G: Formatierte Ausgabe ---");
console.log(Actors[0].anrede, Actors[0].vorname, Actors[0].name.toUpperCase(), Actors[0].rabatt + "%", Actors[0].geburtstag, Actors[0].zivilstand);
console.log(Actors[1].anrede, Actors[1].vorname, Actors[1].name.toUpperCase(), Actors[1].rabatt + "%", Actors[1].geburtstag, Actors[1].zivilstand);
console.log(Actors[2].anrede, Actors[2].vorname, Actors[2].name.toUpperCase(), Actors[2].rabatt + "%", Actors[2].geburtstag, Actors[2].zivilstand);
console.log(Actors[3].anrede, Actors[3].vorname, Actors[3].name.toUpperCase(), Actors[3].rabatt + "%", Actors[3].geburtstag, Actors[3].zivilstand);
console.log(Actors[4].anrede, Actors[4].vorname, Actors[4].name.toUpperCase(), Actors[4].rabatt + "%", Actors[4].geburtstag, Actors[4].zivilstand);