So wählen Sie ein zufälliges Element aus Array in JavaScript aus?

So wählen Sie ein zufälliges Element aus Array in JavaScript aus?

Es gibt mehrere Möglichkeiten, ein Programm zu schreiben, das ein zufälliges Element aus einem Array auswählt, aber die am besten geeignete Methode besteht darin, eine Kombination aus Mathematik zu verwenden.random () und mathematik.Floor () Methoden. Mathematik.Random () -Methode liefert dem Benutzer einen zufälligen Floating-Punkt-Wert zwischen 0 und 1. Während der Mathematik.Floor () Methode nimmt einfach einen Gleitpunktwert ein und rundet den Wert ab, um ihn zu einer Ganzzahl zu machen.

Methode 1: Zufälliges Element aus einem Array mit Mathematik.random () & math.Boden()

Erstellen Sie zunächst ein Array mit der folgenden Zeile:

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

Dieses Array repräsentiert eine Liste von Städten, aus denen Sie zufällig auswählen können. Erstellen Sie einfach eine neue Funktion, die das Array als Parameter wie:

Funktion elemenet_selector (arr)

Innerhalb dieser Funktion ist das allererste, was die Länge des Arrays in einer separaten Variablen an sie übergeben hat:

Array_Length = arr.Länge;

Rufen Sie dann einfach die Mathematik an.Random () Methode, um einen Gleitpunktwert zu erhalten und diese Zahl dann mit der Länge des Arrays zu multiplizieren, um den Bereich zwischen 0 und Arraylänge zu erhalten:

Wert = Math.random () * array_length;

Diese Zeile gibt schwimmende Punktwerte zurück, aber sie sind nicht gut, wenn es darum geht, der Index eines Arrays zu sein. Bestätigen Sie dies, indem Sie diese Zeile einfach in das Konsolenprotokoll einwickeln und die Ausgabe beobachten:

Konsole.Protokoll (Wert)

Die Ausgabe am Klemme beträgt:

Um diese Werte in eine Ganzzahl zu ändern, passieren Sie einfach die Wert Variable in die Mathematik.Floor () Methode und entfernen Sie die Konsole.Log (Wert) Zeile:

IndexValue = Math.Boden (Wert)

Verwenden Sie am Ende der Funktion eine Return -Anweisung und geben Sie das Element an die zurück Indexwert des Arrays:

return arr [indexValue];

Danach aus der Funktion herauskommen element_selector, Rufen Sie diese Funktion auf und wickeln Sie diesen Aufruf in eine Konsolenprotokollfunktion ein, um das zufällig ausgewählte Element auszudrucken:

Konsole.log (elemenet_selector (my_arr));

Der komplette Code -Snippet lautet wie:

my_arr = ["paris", "London", "Bangkok", "New York", "Los Angeles", "Dubai"];
Funktion elemenet_selector (arr)
Array_Length = arr.Länge;
Wert = Math.random () * array_length;
IndexValue = Math.Boden (Wert);
return arr [indexValue];

Konsole.log (elemenet_selector (my_arr));

Führen Sie dieses Programm aus und beobachten Sie das folgende Ergebnis:

Aus der Ausgabe geht hervor, dass zufällige Elemente aus dem Array ausgewählt werden.

Methode 2: Verwenden Sie doppelt nicht Bitgewise -Operator

Erstellen Sie zunächst ein Array wie in Methode 1 mit Hilfe der folgenden Zeile:

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

Danach rufen Sie Mathematik an.random () und mehrfach mit der Länge unseres Arrays, um einen Bereich von 0 bis zur Länge zu erzielen:

Wert = Math.random () * my_arr.Länge;

Dieses Mal, um diesen Wert in eine Ganzzahl umzuwandeln, die den Index des Arrays darstellt (~~), und holen Sie den Wert aus dem Array als:

var item = my_arr [~~ Wert];

Drucken Sie das zufällig ausgewählte Element einfach mit Hilfe der Konsolenprotokollfunktion auf das Terminal aus:

Konsole.Protokoll (Element);

Komplette Code -Snippet für Methode 2 ist wie:

my_arr = ["paris", "London", "Bangkok", "New York", "Los Angeles", "Dubai"];
Wert = Math.random () * my_arr.Länge;
var item = my_arr [~~ Wert];
Konsole.Protokoll (Element);

Führen Sie dieses Programm aus und beobachten Sie das folgende Ergebnis:

Aus der Ausgabe geht hervor, dass ein zufälliges Element aus dem Array ausgewählt wird

Abschluss

In JavaScript können wir die nutzen Mathematik.willkürlich() Funktion mit beiden der Mathematik.Boden() Funktion oder die doppelt nicht bitschoner Operator um einen zufälligen Element aus einem Array abzurufen. Mathematik.Random () liefert, wenn sie mit der Länge des Arrays multipliziert werden, einen Bereich des Index zwischen Null und der Länge des Arrays. Dieser Bereichswert befindet sich jedoch im schwimmenden Punkt, daher verwenden Sie daher Mathematik.Boden() oder Nicht bitgewise Operatoren Um es in eine Ganzzahl umzuwandeln, um als Array -Index verwendet zu werden. Dieser Artikel hat diese beiden Methoden zusammen mit einem Beispiel erklärt