Heim  >  Artikel  >  Web-Frontend  >  Wie extrahiere ich mehrere zufällige Elemente aus einem Array in JavaScript ohne Duplikate?

Wie extrahiere ich mehrere zufällige Elemente aus einem Array in JavaScript ohne Duplikate?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-29 11:13:29735Durchsuche

How to Extract Multiple Random Elements from an Array in JavaScript Without Duplicates?

So extrahieren Sie mehrere zufällige Elemente aus einem Array in JavaScript

Problem:

Abrufen Ein einzelnes Zufallselement aus einem Array ist mit der Formel Math.floor(Math.random() * array.length) unkompliziert. Das Abrufen mehrerer zufälliger Elemente ohne Duplikate kann jedoch eine Herausforderung sein.

Lösung:

Um eine bestimmte Anzahl zufälliger Elemente aus einem Array zu erhalten, befolgen Sie diese Schritte:

  1. Mischen Sie das Array mit array.sort(() => 0.5 - Math.random()). Diese Zeile stellt sicher, dass die Elemente im Array zufällig sortiert sind.
  2. Extrahieren Sie die ersten n Elemente aus dem gemischten Array mit selected = shuffled.slice(0, n). Diese Zeile wählt die ersten n Elemente aus dem gemischten Array aus.

Beispiel:

Betrachten Sie den folgenden Code:

<code class="javascript">n = 5;
array = Array.from({ length: 50 }, (v, k) => k * 10); // [0,10,20,30,...,490]
var shuffled = array.sort(function () { return 0.5 - Math.random() });
var selected = shuffled.slice(0, n);

document.querySelector('#out').textContent = selected.toString();</code>

Dies Der Code mischt ein Array aus 50 Zahlen, ruft die ersten fünf Zufallselemente ab und zeigt sie im HTML-Dokument an.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich mehrere zufällige Elemente aus einem Array in JavaScript ohne Duplikate?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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