Solución rápida
function randomRange(myMin, myMax) { return Math.floor(Math.random() * (myMax - myMin + 1) + myMin); }
Explicación del código
Math.random()
genera nuestro número aleatorio entre 0 y ≈ 0.9.- Antes de multiplicarlo, resuelve la parte entre paréntesis
(myMax - myMin + 1)
debido al operador de agrupación( )
. - El resultado de esa multiplicación es seguido por la suma
myMin
y luego "redondeado" al número entero más grande menor o igual a él (por ejemplo: 9.9 daría como resultado 9)
Si los valores fueran myMin = 1, myMax= 10
, un resultado podría ser el siguiente:
Math.random() = 0.8244326990411024
(myMax - myMin + 1) = 10 - 1 + 1 -> 10
a * b = 8.244326990411024
c + myMin = 9.244326990411024
Math.floor(9.244326990411024) = 9
randomRange
debe usar ambos myMax
y myMin
, y devolver un número aleatorio en su rango.
No puede aprobar la prueba si solo está reutilizando la función ourRandomRange
dentro de su randomRange
fórmula. Necesita escribir su propia fórmula que use las variables myMax
y myMin
. Hará el mismo trabajo que usar ourRandomRange
, pero asegurará que ha entendido los principios de las funciones Math.floor()
y Math.random()
.