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.

Rekursion

Funktionen können sich auch selbst aufrufen. Das nennt man Rekursion. Das bekannteste Beispiel ist die Berechnung der Fakultät:
function fakultaet(n) {
  if (n === 0) {
    return 1;
  }
  return fakultaet(n - 1) * n;
}
Die Fakultät einer natürlichen Zahl ist das Produkt aller natürlichen Zahlen (ohne Null) kleiner oder gleich dieser Zahl. Sie wird durch ein nachgestelltes Ausrufezeichen abgekürzt: n! = 1 * 2 * 3 ... (n-1) * n. Man sieht, dass man für die Berechnung der Fakultät von n die Fakultät von n-1 benutzen kann: n! = (n-1)! * n. Das Beispielprogramm ist die Umsetzung dieser Formel. Um die Fakultät von n zu berechnen, muss man die Fakultät von n-1 berechnen und das Ergebnis mit n multiplizieren. So ruft sich die Funktion fakultaet immer wieder selbst mit einem um 1 verminderten Wert auf. Nun benötigt man noch eine Abbruchbedingung, damit die Rekursion nicht unendlich weiterläuft. Diese Abbruchbedingung ist mit der if-Bedingung formuliert. Ist n bei 0 angekommen, ruft sich fakultaet nicht mehr selbst auf, sondern das Ergebnis, nämlich 0! = 1, wird direkt zurückgegeben.

Aufgabe

Schreibe eine Funktion reverse, die die Reihenfolge der Zeichen in einem String umkehrt. Die Funktion sollte rekursiv sein.

Beispiel: reverse('Nebel') sollte 'lebeN' zurückgeben.

loving