Números aleatorios (random) en Javascript

Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.

Curso de Javascript Online. Desde cero.

14.  
19.  
25.  
34.  

¿Qué es un número aleatorio?

Es un número escogido al azar. Cada vez que ejecutemos el código de generación de números aleatorios, deberíamos obtener un nuevo número al azar.

¿Para que sirve generar un número aleatorio en Javascript?

La generación de números aleatorios tiene mucho que ver con los juegos de azar y la simulación. Así que se vas a desarrollar alguna de estas dos aplicaciones, es probable que necesites aprender a hacerlo.

Por ejemplo, si quieres simular la tirada de un dado, debes generar un número aleatorio entre 1 y 6. O si quieres simular lanzar una moneda al aire, necesitarás un número aleatorio entre 0 y 1. O quizás quieres un juego tipo trivial de preguntas y espuestas en el que las preguntas sean aleatorias en cada tirada, o una simulación de un bingo, etc….

Generar número aleatorio dentro de un rango

Calcular un número random o aleatorio dentro de un rango en Javascript no es tan trivial como en otros lenguajes. La función que usaremos (Math.random()) nos devuelve un número aleatorio con decimales entre 0 y 1 (el 1 será exclusivo, estando el número generado realmente entre 0 y 0.999999…). Luego nosotros, haciendo uso de sumas y redondeos debemos transformar ese número aleatorio entre 0 y 1 a un número aleatorio entre 25 y 75, por ejemplo.

Para ello, yo utilizo la fórmula que indico a continuación. La copio, la pego y sustituyo los valores. Es una fórmula fácil de razonar, pero francamente, cuando la necesito, la copio y la pego:

Math.floor(Math.random() * (MAX - MIN + 1)) + MIN;

Como ejemplo, si deseamos generar un número aleatorio entre 25 y 75, la sentencia sería

Math.floor(Math.random() * (75-25+1)) + 25;

Ejercicios números aleatorio

1. Obtener un número aleatorio entre 5 y 7.

2. Ejercicio generador de letras aleatorias.

Partiremos de una constante que almacene tu nombre. Luego, crearemos un número al azar dentro del rango de letras que contiene tu nombre. Ese número será la posición de la letra aleatoria de tu nombre que queremos obtener.

Tendrás que usar los siguientes códigos:

Math.floor(Math.random() * (MAX - MIN + 1)) + MIN;
nombre.charAt();
nombre.length;

Pasos para resolver el ejercicio:

  1. Declaramos una constante con nuestro nombre.
  2. Calculamos un número aleatorio en un rango comprendido entre 0 y el número de letras de tu nombre.
  3. Utilizamos ese número aleatorio para obtener la letra de tu nombre que ocupa esa posición.
  4. Mostramos la letra en la consola.