46 lines
2.1 KiB
JavaScript
46 lines
2.1 KiB
JavaScript
/**
|
|
* 🌐 JS 03: OBJEKTE, DESTRUCTURING & REST/SPREAD 🌐
|
|
* ==================================================
|
|
* Strukturierte Daten & moderne ES6-Operatoren in JavaScript.
|
|
*/
|
|
|
|
// 🎯 TEILZIEL 1 (TODO 1): erstelleBenutzer(name, email, rolle = "user")
|
|
// Erstelle ein Benutzerobjekt mit Property Shorthand und Default-Parameter.
|
|
// Rückgabe: Ein Objekt mit { name, email, rolle }
|
|
function erstelleBenutzer(name, email, rolle = "user") {
|
|
// TODO: Nutze ES6 Property Shorthand { name, email, rolle }
|
|
return null;
|
|
}
|
|
|
|
// 🎯 TEILZIEL 2 (TODO 2): extrahiereDetails(benutzerObjekt)
|
|
// Extrahiere 'name' und 'email' mittels Object Destructuring: const { name, email } = benutzerObjekt;
|
|
// Rückgabe: Formatierter String im Format: `${name} (${email})`
|
|
function extrahiereDetails(benutzerObjekt) {
|
|
// TODO: Destructuring anwenden und String im Format "Name (email@domain.de)" zurückgeben
|
|
return "";
|
|
}
|
|
|
|
// 🎯 TEILZIEL 3 (TODO 3): fuegeAdresseHinzu(benutzerObjekt, adresseObjekt)
|
|
// Kombiniere Benutzer und Adresse zu einem NEUEN Objekt mittels Spread-Operator: { ...benutzerObjekt, ...adresseObjekt }
|
|
// Wichtig: Das Originalobjekt benutzerObjekt darf NICHT verändert werden (Immutability).
|
|
function fuegeAdresseHinzu(benutzerObjekt, adresseObjekt) {
|
|
// TODO: Neues Objekt mit Object Spread { ...benutzerObjekt, ...adresseObjekt } erstellen
|
|
return null;
|
|
}
|
|
|
|
// 🎯 TEILZIEL 4 (TODO 4): zaehleEigenschaften(objekt)
|
|
// Zähle die Anzahl der eigenen Schlüssel/Eigenschaften eines Objekts mit Object.keys(objekt).length.
|
|
// Bei leeren oder ungültigen Objekten soll 0 zurückgegeben werden.
|
|
function zaehleEigenschaften(objekt) {
|
|
// TODO: Object.keys() nutzen und Anzahl der Keys zurückgeben
|
|
return 0;
|
|
}
|
|
|
|
// 🎯 TEILZIEL 5 (TODO 5): berechneWarenkorbGesamtwert(warenkorbItems)
|
|
// Berechne die Summe aller (preis * anzahl) im Array warenkorbItems.
|
|
// Nutze Destructuring im Loop oder in reduce: for (const { preis, anzahl = 1 } of warenkorbItems)
|
|
// Bei leerem Warenkorb [] soll 0 zurückgegeben werden.
|
|
function berechneWarenkorbGesamtwert(warenkorbItems) {
|
|
// TODO: Destructuring im Schleifendurchlauf oder reduce nutzen
|
|
return 0;
|
|
}
|