Arrays mischen mit dem Fisher-Yates-Algorithmus

JavaScriptJavaScriptBeginner
Jetzt üben

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

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir den Fisher-Yates-Algorithmus und seine Implementierung in JavaScript erkunden. Insbesondere werden wir uns auf das Mischen von Arrays mit diesem Algorithmus konzentrieren. Am Ende dieses Labs werden Sie ein besseres Verständnis dafür haben, wie der Fisher-Yates-Algorithmus funktioniert und wie er verwendet werden kann, um die Reihenfolge der Elemente in einem Array zu randomisieren.

Array-Misch-Algorithmus

Um ein Array in JavaScript zu mischen, verwenden Sie den Fisher-Yates-Algorithmus. Dieser Algorithmus ordnet die Elemente des Arrays zufällig neu an und gibt ein neues Array zurück.

Um mit der Programmierung zu beginnen, öffnen Sie das Terminal/SSH und geben Sie node ein.

Hier ist der Code für den Fisher-Yates-Algorithmus:

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

Um ein Array zu mischen, übergeben Sie das Array an die shuffle-Funktion und sie wird das gemischte Array zurückgeben. Beispiel:

const foo = [1, 2, 3];
shuffle(foo); // gibt [2, 3, 1] zurück, und foo ist immer noch [1, 2, 3]

Zusammenfassung

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