So geben Sie ein Array in JavaScript zufällig aus

PHPz
Freigeben: 2023-04-24 09:24:42
Original
1163 Leute haben es durchsucht

Die Notwendigkeit, Arrays zufällig auszugeben, tritt häufig in der JavaScript-Entwicklung auf. Angenommen, wir haben ein Array, das viele Daten speichert, und wir müssen einen Teil der Daten zufällig ausgeben. Wie erreicht man das?

Im Folgenden sind mehrere Implementierungsmethoden aufgeführt:

  1. Math.random()-Methode

Math.random()-Methode ist eine von JavaScript bereitgestellte Zufallszahlengenerierungsfunktion. Es wird eine Zufallszahl zwischen 0 und 1 zurückgegeben. Mit dieser Methode können wir einen Zufallszahlenindex generieren und diesen Index dann verwenden, um das entsprechende Element aus dem ursprünglichen Array abzurufen.

Der Beispielcode lautet wie folgt:

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var randomIndex = Math.floor(Math.random() * arr.length);
console.log(arr[randomIndex]);
Nach dem Login kopieren

Verwenden Sie im obigen Code die Methode Math.random(), um eine Zufallszahl zwischen 0 und 1 zu generieren, und multiplizieren Sie diese dann mit der Länge des Arrays, um eine Zufallszahl zu erhalten Index Verwenden Sie diesen Index, um die Zufallszahl aus dem Original abzurufen. Holen Sie sich das entsprechende Element im Array.

  1. Array.sort()-Methode

Eine andere Methode besteht darin, die Array.sort()-Methode zu verwenden, um das Array zufällig zu sortieren und dann die ersten paar Elemente des Arrays auszugeben. Die spezifische Implementierung lautet wie folgt:

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
arr.sort(function() { return Math.random() - 0.5 });
console.log(arr.slice(0, 3));
Nach dem Login kopieren

Der obige Code verwendet zunächst die Methode sort(), um das Array zufällig zu sortieren. Die Methode sort() akzeptiert eine Vergleichsfunktion als Parameter. Der von der Funktion zurückgegebene Wert ist kleiner als 0. Zeigt an, dass der erste Parameter vor dem zweiten Parameter steht. Bisher bedeutete ein Rückgabewert größer als 0, dass der erste Parameter nach dem zweiten Parameter kam. Da die Funktion eine Zufallszahl zurückgibt, wird das Array zufällig sortiert.

Verwenden Sie dann die Methode „slice()“, um die ersten drei Elemente als Ergebnis einer zufälligen Ausgabe aus dem Array zu entfernen.

  1. Fisher-Yates-Mischalgorithmus

Der Fisher-Yates-Mischalgorithmus, auch bekannt als Knuth-Mischalgorithmus, ist ein Algorithmus, der Elemente in einem Array zufällig anordnet. Seine Implementierung ist wie folgt:

function shuffleArray(arr) {
  for (var i = arr.length - 1; i > 0; i--) {
    var j = Math.floor(Math.random() * (i + 1));
    var temp = arr[i];
    arr[i] = arr[j];
    arr[j] = temp;
  }
  return arr;
}

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(shuffleArray(arr).slice(0, 3));
Nach dem Login kopieren

Im obigen Code wird durch Durchlaufen des Arrays jedes Mal eine zufällige Position zum Austausch ausgewählt und schließlich ein zufällig angeordnetes Array erhalten. Verwenden Sie dann die Methode „slice()“, um die ersten drei Elemente als zufällige Ausgabeergebnisse aus dem Array zu entfernen.

Zusammenfassung

Die oben genannten sind mehrere gängige Implementierungsmethoden, jede Methode hat ihre Vor- und Nachteile. Beispielsweise ist die erste Methode die einfachste, kann jedoch das Problem haben, dass dasselbe Element wiederholt ausgegeben wird. Die zweite Methode ist jedoch etwas langwierig Sie müssen eine Funktion schreiben, um es zu kapseln.

Entwickler können basierend auf ihren tatsächlichen Anforderungen eine geeignete Implementierungsmethode auswählen. In jedem Fall ist die Fähigkeit, Array-Elemente zufällig auszugeben, eine wichtige Fähigkeit in der JavaScript-Entwicklung.

Das obige ist der detaillierte Inhalt vonSo geben Sie ein Array in JavaScript zufällig aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!