When passing values to the Math.max
or Math.min
function in JavaScript, they return the highest and lowest values from the input respectively.
However, if a piece of data that is undefined is entered, e.g.
Math.max(5,10,undefined);
The result returned is NaN
. Is there a simply way to fix this using JS/jQuery?
Advertisement
Answer
I assume the undefined
is actually some variable.
You can substitute -Infinity
for any NaN
value to ensure a number.
var foo; Math.max(5, 10, isNaN(foo) ? -Infinity : foo); // returns 10
Same concept can be used on Math.min
, but with Infinity
:
var foo; Math.min(5, 10, isNaN(foo) ? Infinity : foo); // returns 5