JavaScript: generar un número aleatorio en el rango

    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.

    Te puede interesar:JavaScript: == vs === Operador

    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:

    Te puede interesar:JavaScript: eliminar una propiedad de un objeto
    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.

    Te puede interesar:Envío de notificaciones con notificador de node (Mac, Windows, Linux)

    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:

    Te puede interesar:JavaScript: compruebe si el objeto es una matriz
    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.

    Te puede interesar:Cómo crear un diálogo de confirmación en Vue.js

    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:

    Te puede interesar:Reemplazar las apariciones de una subcadena en una cadena con JavaScript
    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ó.

    Te puede interesar:JavaScript: compruebe si la primera letra de una cadena es mayúscula

    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.

     

    5/5 - (1 voto)

    Etiquetas: