Heim  >  Artikel  >  Web-Frontend  >  Wie wähle ich in JavaScript zufällig mehrere Elemente aus einem Array aus?

Wie wähle ich in JavaScript zufällig mehrere Elemente aus einem Array aus?

DDD
DDDOriginal
2024-10-30 05:53:02295Durchsuche

How to Randomly Select Multiple Elements from an Array in JavaScript?

So wählen Sie zufällig mehrere Elemente aus einem Array aus

JavaScript bietet eine Array-Element-Randomisierungsfunktion mit Math.floor(Math.random() *items.length). Diese Methode wählt jedoch nur ein einzelnes Element aus. Für die Auswahl mehrerer Elemente benötigen wir einen umfassenderen Ansatz.

Lösung:

Um mehrere zufällige Elemente aus einem Array zu erhalten, können wir den folgenden zweistufigen Prozess implementieren :

  1. Mischen Sie das Array, um die Reihenfolge der Elemente zufällig zu bestimmen:

    const shuffled = array.sort(() => 0.5 - Math.random());
  2. Extrahieren Sie ein Unterarray der gewünschten Länge aus dem gemischten Array :

    let selected = shuffled.slice(0, n);

Demonstration:

Im Beispielcode deklarieren wir ein Zahlenarray und geben die Anzahl der zu extrahierenden Elemente an (N). Indem wir das Array mischen und in Scheiben schneiden, erhalten wir ein ausgewähltes Unterarray mit n zufälligen Elementen.

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();

Dieser Ansatz bietet eine flexible und effiziente Möglichkeit, mehrere Elemente aus einem Array unabhängig von seiner Größe zufällig auszuwählen .

Das obige ist der detaillierte Inhalt vonWie wähle ich in JavaScript zufällig mehrere Elemente aus einem Array aus?. 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