Cómo generar números enteros aleatorios dentro de un rango usando JavaScript Math.floor - Resuelto

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 myMiny 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:

  1. Math.random() = 0.8244326990411024
  2. (myMax - myMin + 1) = 10 - 1 + 1 -> 10
  3. a * b =  8.244326990411024
  4. c + myMin = 9.244326990411024
  5. Math.floor(9.244326990411024) = 9

randomRangedebe usar ambos myMaxy myMin, y devolver un número aleatorio en su rango.

No puede aprobar la prueba si solo está reutilizando la función ourRandomRangedentro de su randomRangefórmula. Necesita escribir su propia fórmula que use las variables myMaxy myMin. Hará el mismo trabajo que usar ourRandomRange, pero asegurará que ha entendido los principios de las funciones Math.floor()y Math.random().