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.

NaN

NaN repräsentiert den Wert Not-A-Number (engl.: Keine-Zahl). Numerische Operationen oder Funktionen geben NaN zurück, wenn sie keinen Wert berechnen können. Wir hatten dies bei parseInt kennengelernt. parseInt gibt NaN zurück, wenn es keine Zahl parsen kann. Ein weiteres Beispiel ist die Berechnung der Wurzel aus einer negativen Zahl:
let age = parseInt('Babylon');
let length = Math.sqrt(-1);
Sowohl age als auch length haben den Wert NaN.

Möchte man testen, ob NaN vorliegt, kann man leider nicht === verwenden. NaN ist der einzige Wert in JavaScript, der nicht mit sich selbst gleich ist. NaN === NaN ergibt false. Um auf NaN zu testen, sollte man die Funktion Number.isNaN verwenden:
let input = 'Babylon';
let message;
let age = parseInt(input);
if ( Number.isNaN(age) ) {
  message = 'Du hast keine Zahl eingegeben.';
}
Die folgende Aufgabe ist anspruchsvoll.

Aufgabe

Schreibe eine Funktion parseFirstInt, die einen String entgegennimmt und die die erste in dem String vorkommende ganze Zahl zurückgibt. Enthält der String keine ganze Zahl, soll man NaN erhalten.

Beispiel: parseFirstInt('Sonnebornstr. 27') sollte 27 zurückgeben. parseFirstInt('Babylon') sollte NaN ergeben.
Benutze eine Schleife. Verwende innerhalb der Schleife parseInt().
function parseFirstInt(input) {

  let inputToParse = input;

  for (let i = 0; i < input.length; i++) {
    let firstInt = parseInt(inputToParse);
    if (!Number.isNaN(firstInt)) {
      return firstInt;
    }
    inputToParse = inputToParse.substr(1);
  }

  return NaN;
}

loving