mischen Arrays mit JavaScript
Der Fisher-yates Shuffle-Algorithmus bietet eine effektive Methode zum Mischen von Arrays in JavaScript. Durch zufälliges Austausch von Elementen garantiert es, dass jede mögliche Bestellung die gleiche Chance hat, auftreten zu können. var j, x, i; für (i = A.Length-1; i> 0; i--) { j = math.floor (math.random () * (i 1)); x = a [i]; a [i] = a [j]; a [j] = x; } Rückkehr a; }
Dieser Algorithmus iteriert in umgekehrter Reihenfolge durch das Array und tauschte jedes Element mit einem zufälligen Element im Array aus. Das resultierende Array ist aufgrund der zufälligen Natur der Swaps gemischt.
useage
function shuffle(a) { var j, x, i; for (i = a.length - 1; i > 0; i--) { j = Math.floor(Math.random() * (i 1)); x = a[i]; a[i] = a[j]; a[j] = x; } return a; }
var myarray = ['1', '2', '3', '4', '5', '6', '7', '8', '9']; shuffle (myarray);
es6 Version
Der Fisher-Yates-Algorithmus wurde in Es6 optimiert:
var myArray = ['1','2','3','4','5','6','7','8','9']; shuffle(myArray);
Implementierungsprototyp
Dieser Algorithmus kann als Array -Prototyp -Methode implementiert werden, um das direkte Mischen von Arrays zu erleichtern:
function shuffle(a) { for (let i = a.length - 1; i > 0; i--) { const j = Math.floor(Math.random() * (i 1)); [a[i], a[j]] = [a[j], a[i]]; } return a; }
Diese Implementierung ermöglicht es Arrays, mit der Syntax arr.shuffle () ausgelöst zu werden. .
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3