Generate Random Whole Numbers within a Range
Hints
Hint 1
randomRange
should use both myMax
and myMin
, and return a random number in your range.
You cannot pass the test if you are only reusing the function ourRandomRange
inside your randomRange
formula. You need to write your own formula that uses the variables myMax
and myMin
. It will do the same job as using ourRandomRange
, but ensures that you have understood the principles of the Math.floor()
and Math.random()
functions.
Solutions
Solution 1 (Click to Show/Hide)
function randomRange(myMin, myMax) {
return Math.floor(Math.random() * (myMax  myMin + 1) + myMin);
}
Code Explanation

Math.random()
generates our random number between 0 and â 0.9.  Before multiplying it, it resolves the part between parenthesis
(myMax  myMin + 1)
because of the grouping operator( )
.  The result of that multiplication is followed by adding
myMin
and then âroundedâ to the largest integer less than or equal to it (eg: 9.9 would result in 9)
If the values were myMin = 1, myMax= 10
, one result could be the following:
Math.random() = 0.8244326990411024
(myMax  myMin + 1) = 10  1 + 1 > 10
a * b = 8.244326990411024
c + myMin = 9.244326990411024
Math.floor(9.244326990411024) = 9