Der Browser-Speicher localStorage ist nicht verfügbar. Entweder unterstützt dein Browser ihn nicht oder du hast ihn deaktiviert oder er ist voll. Ohne localStorage werden deine Lösungen nicht gespeichert.
Switch
Die
Der Aufbau einer
Das
Falls kein
switch
-Anweisung ermöglicht es dir, verschiedene Codeblöcke auszuführen – je nachdem,
welchen Wert eine Variable hat. Sie ist eine übersichtlichere Alternative zu mehreren if...else if
- Bedingungen,
wenn du dieselbe Variable mit verschiedenen Werten vergleichen willst.
Der Vergleich erfolgt mit strikter Gleichheit (===
).
Der Aufbau einer
switch
-Anweisung sieht so aus:
let fruit = 'apple';
switch (fruit) {
case 'banana':
console.log('Yellow');
break;
case 'apple':
console.log('Red');
break;
default:
console.log('Unknown');
}
Jeder case
prüft, ob die Variable (hier fruit
) einem bestimmten Wert entspricht
(z. B. 'banana'
oder 'apple'
). Wenn eine Übereinstimmung gefunden wird, wird der
zugehörige Code ausgeführt.
Das
break
sorgt dafür, dass der switch
-Block danach verlassen wird.
Wenn man break
weglässt, wird der Code des nächsten case
ausgeführt, auch wenn dessen Bedingung
nicht erfüllt ist. Da das zu unübersichtlichem Code führt, sollte man jeden case
mit break
beenden.
In Funktionen kann man alternativ auch return
verwenden.
Falls kein
case
passt, wird der Code im default
-Block (sofern vorhanden) ausgeführt.
Im obigen Beispiel hat fruit
den Wert 'apple'
, daher wird Red
ausgegeben.Aufgabe
Schreibe eine Funktion
Beispiel:
getDayName
, die eine Zahl zwischen 1 und 7 entgegennimmt und den
entsprechenden Wochentag zurückgibt. Wird keine Zahl zwischen 1 und 7 übergeben, soll 'unbekannt'
zurückgegben werden.Beispiel:
getDayName(1)
sollte 'Montag'
zurückgeben.
+ Tipp
function getDayName(n) {
switch (n) {
...
}
}
+ Lösung
function getDayName(n) {
switch (n) {
case 1:
return 'Montag';
case 2:
return 'Dienstag';
case 3:
return 'Mittwoch';
case 4:
return 'Donnerstag';
case 5:
return 'Freitag';
case 6:
return 'Samstag';
case 7:
return 'Sonntag';
default:
return 'unbekannt';
}
}