Utilisation de JavaScript Array.sort() pour le Shuffling
En JavaScript, utilisation de la méthode Array.sort() avec une fonction de comparaison personnalisée pour mélanger un tableau est une approche alambiquée et potentiellement peu fiable.
Pourquoi Array.sort() n'est pas Optimal pour le brassage
Méthode de lecture aléatoire alternative : Fisher-Yates
L'algorithme de lecture aléatoire de Fisher-Yates est un moyen efficace et fiable de réorganiser un tableau dans un ordre aléatoire. Voici comment cela fonctionne :
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; }
Pourquoi Fisher-Yates est préféré
Mesure du caractère aléatoire du brassage
Pour évaluer le caractère aléatoire de votre algorithme de brassage, vous pouvez calculer des statistiques telles que comme :
Sur la base de ces métriques, Fisher-Yates a tendance à produire des mélanges aléatoires et répartis plus uniformément que Array.sort().
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!