Verwenden von JavaScript Array.sort() zum Mischen
In JavaScript wird die Methode Array.sort() mit einer benutzerdefinierten Vergleichsfunktion für verwendet Das Mischen eines Arrays ist ein komplizierter und möglicherweise unzuverlässiger Ansatz.
Warum Array.sort() nicht optimal ist für Mischen
Alternative Shuffling-Methode: Fisher-Yates
Der Fisher-Yates-Shuffle-Algorithmus ist eine effiziente und zuverlässige Möglichkeit, ein Array in zufälliger Reihenfolge neu anzuordnen. So funktioniert es:
function shuffle(array) { var tmp, current, top = array.length; if(top) while(--top) { current = Math.floor(Math.random() * (top + 1)); tmp = array[current]; array[current] = array[top]; array[top] = tmp; } return array; }
Warum Fisher-Yates bevorzugt wird
Messung der Shuffle-Zufälligkeit
Um die Zufälligkeit Ihres Mischalgorithmus zu beurteilen, können Sie Statistiken wie z als:
Basierend auf diesen Metriken, Fisher-Yates neigt dazu, gleichmäßiger verteilte und zufälligere Mischvorgänge zu erzeugen als Array.sort().
Das obige ist der detaillierte Inhalt vonWarum ist Fisher-Yates Array.sort() beim Mischen in JavaScript überlegen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!