JavaScript Elija un valor aleatorio del array

Ammar Ali 12 octubre 2023
JavaScript Elija un valor aleatorio del array

Este tutorial discutirá cómo elegir un valor aleatorio de un array usando la función Math.random() en JavaScript.

Elija un valor aleatorio de un array utilizando la función Math.random() en JavaScript

Podemos elegir un valor de un array dada usando su índice en JavaScript. Para elegir un valor aleatorio de un array dada, necesitamos generar un índice aleatorio en el rango de 0 a la longitud del array. Podemos generar un valor aleatorio usando la función Math.random() y para establecer el rango de este valor aleatorio, tenemos que multiplicarlo por la longitud del array que podemos obtener usando la función length.

El valor aleatorio generado por la función Math.random() es un valor de punto flotante. Para convertir el valor de punto flotante a entero, tenemos que usar la función Math.floor(). La función Math.floor() convierte un número de punto flotante en un entero que será menor que el número dado. Por ejemplo, creemos un array de cinco valores, escojamos un valor aleatorio y lo mostraremos en la consola. Vea el código a continuación.

var myArray = ['one', 'two', 'three', 'four', 'five'];
var rand = Math.floor(Math.random() * myArray.length);
var rValue = myArray[rand];
console.log(rValue)

Producción :

two

En el código anterior, el índice aleatorio se almacenará en la variable rand, y usando este índice podemos elegir un valor aleatorio del array que se almacenará en la variable rValue. También puede utilizar el operador NOT bit a bit ~~ o el operador OR bit a bit | en lugar de la función Math.floor() para convertir el número de punto flotante en un entero. El uso de operadores bit a bit es más rápido, pero es posible que no funcione para un array que contiene millones de valores. Por ejemplo, generemos un número aleatorio utilizando el operador NOT bit a bit. Vea el código a continuación.

var myArray = ['one', 'two', 'three', 'four', 'five'];
var rand = ~~(Math.random() * myArray.length);
var rValue = myArray[rand];
console.log(rValue)

Producción :

one

Ahora, generemos un número aleatorio usando el operador OR bit a bit. Vea el código a continuación.

var myArray = ['one', 'two', 'three', 'four', 'five'];
var rand = Math.random() * myArray.length | 0;
var rValue = myArray[rand];
console.log(rValue)

Producción :

three

Si vuelve a ejecutar el código, la salida cambiará. También puede crear una función para elegir valores aleatorios de un array determinada para que no tenga que reescribir todo el código. Por ejemplo, creemos una función para seleccionar valores aleatorios de un array dada y probarla con un array. Vea el código a continuación.

function RandArray(array) {
  var rand = Math.random() * array.length | 0;
  var rValue = array[rand];
  return rValue;
}
var myArray = ['one', 'two', 'three', 'four', 'five', 'six'];
var rValue = RandArray(myArray);
console.log(rValue)

Producción :

six

Si vuelve a ejecutar el código, la salida cambiará. Ahora, para elegir un valor aleatorio de un array, solo tiene que llamar a la función RandArray().

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Artículo relacionado - JavaScript Array