embaralhando matrizes com javascript
O algoritmo de fisher-yates shuffle oferece um método eficaz para matrizes de embaralhamento em javascript. Ao trocar de elementos aleatórios, garante que cada pedido possível tenha uma chance igual de ocorrer. var j, x, i; para (i = A.Length-1; i> 0; i--) { j = math.floor (math.random () * (i 1)); x = a [i]; a [i] = a [j]; a [j] = x; } retornar a; }
Este algoritmo itera através da matriz em ordem inversa, trocando cada elemento com um elemento aleatório à frente dele na matriz. A matriz resultante é embaralhada devido à natureza aleatória dos swaps. ['1', '2', '3', '4', '5', '6', '7', '8', '9']; shuffle (myarray);
es6 versão
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; }
função shuffle (a) { para (vamos i = A.Length-1; i> 0; i--) { const j = math.floor (math.random () * (i 1)); [a [i], a [j]] = [a [j], a [i]]; } retornar a; }
implementação prototype
Este algoritmo pode ser implementado como um método de protótipo de matriz para facilitar o shuffling direto de Arrays:
var myArray = ['1','2','3','4','5','6','7','8','9']; shuffle(myArray);
Esta implementação permite que as matrizes sejam embaralhadas usando o Arr.shuffle () Syntax.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3