The browser storage localStorage is not available. Either your browser does not support it or you have disabled it or the maximum memory size is exceeded. Without localStorage your solutions will not be stored.
NaN
NaN is a value representing Not-A-Number. Numeric operations or functions return
NaN if they cannot calculate a value. We had seen this with
parseInt. It returns NaN, if it can't parse a number.
Another example is the calculation of the square root from a negative number:
let age = parseInt('Babylon');
let length = Math.sqrt(-1);
Both age and length get the value NaN.If you want to test for
NaN, you unfortunately can't use strict equality.
NaN is the only value in JavaScript that when compared to itself returns false.
That is, NaN === NaN results in false.
To check if a value is NaN use the Number.isNaN function:
let input = 'Babylon';
let message;
let age = parseInt(input);
if ( Number.isNaN(age) ) {
message = 'Input is not a number!';
}
The following task is challenging.Exercise
Write a function
Example:
parseFirstInt that takes a string and returns the first integer present in the
string. If the string does not contain an integer, you should get NaN.Example:
parseFirstInt('No. 10') should return 10 and parseFirstInt('Babylon') should
return NaN.
+ Hint
Use a loop. Within the loop use
parseInt().
+ Solution
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;
}
