JavaScript: generar un número aleatorio en el rango

J

Introducción

Nosotros, como desarrolladores de software, a menudo nos encontramos con situaciones en las que necesitamos insertar una dosis de aleatoriedad en nuestro código.

En este artículo, veremos cómo generar números aleatorios en JavaScript. También abordaremos algunos métodos integrados para tratar con números aleatorios. Al final, haremos un buen uso de este conocimiento escribiendo una función para simular un dado de seis lados.

Generando números aleatorios en JavaScript

Math.random() en JavaScript genera un número aleatorio de punto flotante (decimal) entre 0 y 1 (incluido 0, pero no 1). Veamos esto llamando a:

console.log(Math.random())

Esto generará un número de punto flotante similar a:

0.9261766792243478

Esto es útil si se trata de porcentajes, ya que cualquier valor entre 0 y 1, redondeado a dos lugares decimales, se puede considerar como un percentil.

Generación de números enteros aleatorios en rango

Sin embargo, generalmente no tratamos con números de punto flotante en el rango de 0 a 1. Entonces, veamos una forma de redondear números de punto flotante.

Podemos redondear hacia abajo un número de punto flotante usando Math.floor(). De manera similar, podemos redondear un número mediante el Math.ceil() función:

console.log(Math.floor(3.6))
console.log(Math.ceil(3.6))

Esto nos dará la salida:

3
4

Generemos un número aleatorio entre min y max, No incluído max:

function randomNumber(min, max){
    const r = Math.random()*(max-min) + min
    return Math.floor(r)
}

Alternativamente, podríamos haber incluido max con el Math.ceil() función en su lugar.

Nos estamos multiplicando con (max-min)para transformar la gama [0,1) en [0, max-min). A continuación, para obtener un número aleatorio en el rango requerido, estamos agregando min. Finalmente, estamos redondeando esto a un número entero usando Math.floor().

Llamemos a este método varias veces y observemos los resultados:

for (var i = 0; i < 10; i++) {
  console.log(randomNumber(0, 10))
}

Esto generará algo similar a:

8
3
3
0
1
1
8
2
8
8

Conclusión

La generación de números pseudoaleatorios en un programa se puede utilizar para simular la imprevisibilidad de un enemigo en el juego, o para la aleatorización de bosques en un juego de bloques que todos conocemos y amamos. También se puede utilizar para simular entradas aleatorias mientras prueba otro programa que escribió.

De cualquier manera, generar un número aleatorio es una herramienta importante en el conjunto de herramientas de cualquier ingeniero y debe expandirse tanto como sea posible con diferentes métodos y algoritmos de generación. Este artículo fue solo el primer paso para aprender a generar números aleatorios.

 

About the author

Ramiro de la Vega

Bienvenido a Pharos.sh

Soy Ramiro de la Vega, Estadounidense con raíces Españolas. Empecé a programar hace casi 20 años cuando era muy jovencito.

Espero que en mi web encuentres la inspiración y ayuda que necesitas para adentrarte en el fantástico mundo de la programación y conseguir tus objetivos por difíciles que sean.

Add comment

Sobre mi

Últimos Post

Etiquetas

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con tus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, aceptas el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad