Come selezionare un elemento casuale dall'array in JavaScript?

Come selezionare un elemento casuale dall'array in JavaScript?

Esistono diversi modi di scrivere un programma che seleziona un elemento casuale da un array, ma il metodo più adatto è usare una combinazione di matematica.casuale () e matematica.Metodi di pavimento (). Matematica.Il metodo casuale () fornisce all'utente un valore a punto mobile casuale tra 0 e 1. Mentre la matematica.Il metodo del pavimento () assume semplicemente un valore mobile e arrotola il valore per renderlo un numero intero.

Metodo 1: elemento casuale da un array usando matematica.casuale () e matematica.pavimento()

Innanzitutto, crea un array con la seguente riga:

my_arr = ["Paris", "London", "Bangkok", "New York", "Los Angeles", "Dubai"];

Questo array rappresenta un elenco di città tra cui scegliere a caso. Dopo questo, crea semplicemente una nuova funzione che assume l'array come parametro come:

funzione EleMenet_Selector (arr)

All'interno di questa funzione, la prima cosa è far passare la lunghezza dell'array all'interno di una variabile separata:

Array_Length = arr.lunghezza;

Quindi, chiama semplicemente la matematica.Metodo casuale () per ottenere un valore mobile e quindi moltiplicare quel numero con la lunghezza dell'array per ottenere l'intervallo tra 0 e lunghezza dell'array:

value = matematica.casuale () * array_length;

Questa linea restituirà i valori dei punti mobili, ma non sono buoni quando si tratta di essere l'indice di un array. Conferma semplicemente avvolgendo questa riga nel registro della console e osservando l'output:

console.registro (valore)

L'output sul terminale è come:

Per cambiare questi valori in un numero intero, basta passare il valore variabile in matematica.Metodo del pavimento () e rimuovere la console.riga di registro (valore):

indiceValue = matematica.pavimento (valore)

Alla fine della funzione, utilizzare un'istruzione di restituzione e restituire l'elemento al indiceValue dell'array:

return arr [indexValue];

Dopodiché, esci dalla funzione Element_Selector, e effettuare una chiamata a questa funzione e avvolgere quella chiamata all'interno di una funzione di registro della console per stampare l'elemento selezionato in modo casuale:

console.log (element_selector (my_arr));

Lo snippet completo del codice è come:

my_arr = ["Paris", "London", "Bangkok", "New York", "Los Angeles", "Dubai"];
funzione EleMenet_Selector (arr)
Array_Length = arr.lunghezza;
value = matematica.casuale () * array_length;
indiceValue = matematica.pavimento (valore);
return arr [indexValue];

console.log (element_selector (my_arr));

Eseguire questo programma e osservare il seguente risultato:

È chiaro dall'output che gli elementi casuali sono selezionati dall'array.

Metodo 2: utilizzando l'operatore doppio non bitwise

Inizia creando un array proprio come nel metodo 1 con l'aiuto della riga seguente:

my_arr = ["Paris", "London", "Bangkok", "New York", "Los Angeles", "Dubai"];

Successivamente, chiama la matematica.casuale () e multiplo con la lunghezza del nostro array per ottenere un intervallo da 0 alla lunghezza:

value = matematica.casuale () * my_arr.lunghezza;

Questa volta, per convertire questo valore in un intero che rappresenta l'indice dell'array, applicare semplicemente l'operatore doppio non bitwise, che è l'operatore a doppio tilde (~~), e prendere il valore dall'array come:

var item = my_arr [~~ value];

Infine, stampare semplicemente l'elemento selezionato casualmente sul terminale con l'aiuto della funzione di registro della console:

console.log (elemento);

Snippet di codice completo per il metodo 2 è come:

my_arr = ["Paris", "London", "Bangkok", "New York", "Los Angeles", "Dubai"];
value = matematica.casuale () * my_arr.lunghezza;
var item = my_arr [~~ value];
console.log (elemento);

Eseguire questo programma e osservare il seguente risultato:

Dall'output è chiaro che un elemento casuale viene selezionato dall'array

Conclusione

In JavaScript, possiamo utilizzare il Matematica.casuale() funzione con entrambi i Matematica.pavimento() funzione o la doppio operatore non bitwise per recuperare un elemento casuale da un array. Matematica.Random (), se moltiplicato per la lunghezza dell'array, fornisce un valore di intervallo di indice tra zero e la lunghezza dell'array. Tuttavia, questo valore di intervallo è in violazione, quindi, l'uso Matematica.pavimento() O Operatori non bitwise Per convertirlo in un numero intero da utilizzare come indice di array. Questo articolo ha spiegato entrambi questi metodi insieme a un esempio