1
respuesta

06 Math.random()

Me quedo con ésto.

Perfecto, Cris. La realidad es que todos los lenguajes de programación tienen algún método que, basado en la cantidad de tiempo que ha transcurrido desde una fecha hasta el momento actual, genera un número. No es completamente aleatorio, pero sí varía y es lo que vamos a usar para esto. En Javascript, esto se conoce como pseudo aleatorio.

Entonces, en Javascript tenemos una librería o un grupo de funciones de la biblioteca matemática que tiene una función de random para esto.

Para esto, entonces vamos aquí, abrimos una pestaña, buscamos Math.random, Javascript y vean que nos ofrece de primera, la primera opción es la documentación oficial de la MDN de Mozilla.

Nos referimos a esa funcionalidad, entramos en ella y como un truco, un atajo, cuando llegan a una documentación de la MDN que está en inglés, cambiando el en-US por es, nos llevará a la documentación en español si está disponible. En nuestro caso está disponible.

Perfecto, solo para recordar, para abrir la consola: tres puntos, más herramientas y luego herramientas para desarrolladores o el atajo que es F12, ¿vale? Es un mensaje que está en la página del sitio de MDN, no se preocupen por ello. Ya estamos aquí en la consola.

Entonces, dijimos que vamos a probar cómo se genera un número pseudoaleatorio, y es interesante esta palabra pseudo (falso), porque entendemos que depende de ciertas variables que no están bajo nuestro control y que no funcionan para lo que queremos.

En este caso vamos a llamar al método Math. Y vean que tenemos aquí. ¿Podría acercar un poco más, por favor? Sí, Leo. ¿Aquí? Está bien. Vean que, al igual que en Visual Studio, cuando hacemos clic en el punto, se nos muestran todos los métodos de esta biblioteca. Buscamos el método random, ¿verdad? Luego espera que lo coloquemos así, lo ejecutamos, y observa lo que sucedió. Nos dio un número entre 0 y 1 con una cantidad gigantesca de decimales, ¿de acuerdo?

Y ahora este número aún no nos sirve tal como está, porque necesitamos que sea entero. Hay otro método, que es el caso de floor, que nos lleva al número entero más cercano hacia abajo, ¿de acuerdo? En este caso. Lo que va a hacer es eliminar todos los decimales y nos va a dejar solo el entero.

Así es, entonces vamos a buscar incluso la documentación de Math.floor para también reforzar qué es lo que realiza. Aquí devuelve el número entero máximo menor, él lleva el número hacia abajo en el intervalo. Entonces no es un redondeo, ¿verdad? Porque si fuera un 9.8 lo redondearía a 10. Floor no hace eso. 9.8 y todos esos decimales que tiene nos deja el 9. Digamos que elimina la parte decimal. Después del punto lo borra.

Así es, entonces podemos decir Math.floor del número randómico o pseudo randómico que estamos creando por 10. Ok, sería nuestro caso que queremos 10 números. Nada más.

Math.floor(Math.random() * 10);

Genera un número aleatorio, toma este número y lo multiplica por 10. ¿Correcto? Esto te da un resultado que se convierte en el parámetro de Math.floor. Es como si realizara cada uno de estos pasos y al final terminara en 3. Esto es lo que está ejecutando.

Con Math.floor siempre capturamos el número entero. Elimina cualquier decimal. Y Math.random devuelve un número entre 0 y 0.999999.

1 respuesta

Hola Aida, espero que estés bien

Gracias por compartir tu actividad con nosotros. Recuerda que estamos aquí para ayudarte. Si necesitas ayuda, no dudes en buscarnos en el foro.

¡Gracias nuevamente!

Saludos,

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!