Heim >Web-Frontend >js-Tutorial >Wie wähle ich mehrere zufällige Elemente aus einem JavaScript-Array aus?

Wie wähle ich mehrere zufällige Elemente aus einem JavaScript-Array aus?

Linda Hamilton
Linda HamiltonOriginal
2024-11-01 16:48:30940Durchsuche

How to Select Multiple Random Elements from a JavaScript Array?

Zugriff auf mehrere zufällige Elemente aus einem Array in JavaScript

Bei der Arbeit mit Arrays gibt es Szenarien, in denen die Auswahl mehrerer zufälliger Elemente erforderlich ist. Das bereitgestellte Code-Snippet bietet eine prägnante Lösung für dieses Problem:

<code class="js">// Shuffle array
const shuffled = array.sort(() => 0.5 - Math.random());

// Get sub-array of first n elements after shuffled
let selected = shuffled.slice(0, n);</code>

Detaillierte Erklärung:

  1. Mischen des Arrays: Das Die Sortierfunktion wird mit einer benutzerdefinierten Vergleichsfunktion verwendet, die die Elemente im Wesentlichen zufällig mischt.
  2. Slicing des gemischten Arrays: Die Slice-Methode wird dann verwendet, um ein Unterarray bestehend aus den ersten n zu extrahieren Elemente aus dem gemischten Array. Dieses Unterarray stellt die zufällig ausgewählten Elemente dar.

Beispiel:

<code class="js">n = 5;
array = Array.from({ length: 50 }, (v, k) => k * 10);

var shuffled = array.sort(function () {
  return 0.5 - Math.random();
});
var selected = shuffled.slice(0, n);

console.log(selected); // Output: [490, 470, 480, 460, 450]</code>

Dieses Code-Snippet mischt ein Array von 50 Elementen (Vielfache von 10) und wählt die ersten 5 Elemente zufällig aus. Die Ausgabe ist ein Array mit 5 zufälligen Elementen.

Vorteile dieser Lösung:

  • Effizient und einfach zu implementieren.
  • Retouren ein Array zufällig ausgewählter Elemente, wobei die ursprüngliche Reihenfolge der Elemente erhalten bleibt.
  • Kann leicht geändert werden, um eine andere Anzahl zufälliger Elemente auszuwählen.

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