JavaScript Scegli un valore casuale dall'array

Ammar Ali 12 ottobre 2023
JavaScript Scegli un valore casuale dall'array

Questo tutorial discuterà come scegliere un valore casuale da un array usando la funzione Math.random() in JavaScript.

Scegli un valore casuale da un array usando la funzione Math.random() in JavaScript

Possiamo scegliere un valore da un dato array usando il suo indice in JavaScript. Per scegliere un valore casuale da un dato array, dobbiamo generare un indice casuale nell’intervallo da 0 alla lunghezza dell’array. Possiamo generare un valore casuale utilizzando la funzione Math.random() e per impostare l’intervallo di questo valore casuale, dobbiamo moltiplicarlo per la lunghezza dell’array che possiamo ottenere utilizzando la funzione length.

Il valore casuale generato dalla funzione Math.random() è un valore a virgola mobile. Per convertire il valore in virgola mobile in intero, dobbiamo usare la funzione Math.floor(). La funzione Math.floor() converte un numero in virgola mobile in un intero che sarà minore del numero dato. Ad esempio, creiamo un array di cinque valori e scegliamo un valore casuale da esso e lo mostriamo sulla console. Vedi il codice qui sotto.

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

Produzione:

two

Nel codice sopra, l’indice casuale verrà memorizzato nella variabile rand, e utilizzando questo indice possiamo scegliere un valore casuale dall’array che verrà memorizzato nella variabile rValue. È inoltre possibile utilizzare l’operatore NOT bit a bit ~~ o l’operatore OR bit a bit | invece della funzione Math.floor() per convertire il numero in virgola mobile in un intero. L’uso degli operatori bit per bit è più veloce ma potrebbe non funzionare per un array contenente milioni di valori. Ad esempio, generiamo un numero casuale utilizzando l’operatore bit a bit NOT. Vedi il codice qui sotto.

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

Produzione:

one

Ora generiamo un numero casuale utilizzando l’operatore OR bit a bit. Vedi il codice qui sotto.

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

Produzione:

three

Se esegui nuovamente il codice, l’output cambierà. Puoi anche creare una funzione per scegliere valori casuali da un dato array in modo da non dover riscrivere tutto il codice. Ad esempio, creiamo una funzione per selezionare valori casuali da un dato array e testiamolo con un array. Vedi il codice qui sotto.

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)

Produzione:

six

Se esegui nuovamente il codice, l’output cambierà. Ora, per scegliere un valore casuale da un array, devi solo chiamare la funzione RandArray().

Autore: 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

Articolo correlato - JavaScript Array