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()
.