N zufällige Elemente im Array

Beginner

This tutorial is from open-source community. Access the source code

Einführung

In diesem Lab werden wir untersuchen, wie man mit JavaScript zufällige Elemente aus einem Array auswählt. Wir werden lernen, wie man ein Array mithilfe des Fisher-Yates-Algorithmus durchmischen und es verwenden, um ein oder mehrere Elemente aus einem Array zufällig auszuwählen. Dieses Lab ist dazu gedacht, Ihr Verständnis der Array-Manipulation zu verbessern und Ihre Problemlösefähigkeiten in JavaScript zu stärken.

Code-Praxis: Zufällige Elemente aus einem Array abrufen

Um die Programmierung zu üben, öffnen Sie das Terminal/SSH und geben Sie node ein. Der folgende Code nutzt den Fisher-Yates-Algorithmus, um ein Array zu durchmischen und n zufällige, eindeutige Elemente an eindeutigen Schlüsseln aus dem Array abzurufen, bis zur Größe des Arrays.

const sampleSize = ([...arr], n = 1) => {
  let m = arr.length;
  while (m) {
    const i = Math.floor(Math.random() * m--);
    [arr[m], arr[i]] = [arr[i], arr[m]];
  }
  return arr.slice(0, n);
};

Um diesen Code zu verwenden, rufen Sie sampleSize() mit einem Array und einer optionalen Anzahl n von Elementen auf, die abgerufen werden sollen. Wenn n nicht angegeben wird, gibt die Funktion nur ein zufälliges Element aus dem Array zurück.

sampleSize([1, 2, 3], 2); // [3, 1]
sampleSize([1, 2, 3], 4); // [2, 3, 1]

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab "N zufällige Elemente im Array" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.