In PHP esiste una comoda funzione chiamata shuffle() che permette di mescolare un array (vedi Very short trick: prendere elementi casuali da un array in PHP). Un’ottima versione per Javascript l’ho trovata qui. Qui sotto il codice leggermente rivisto:
1 2 3 | Array.prototype.shuffle = function() { for(var j, x, i = this.length; i; j = Math.floor(Math.random() * i), x = this[--i], this[i] = this[j], this[j] = x); } |
Rispetto all’originale ho esteso l’oggetto Array e inserito Math.floor() al posto di parseInt(), in quanto da test effettuati è risultato estremamente più veloce, almeno sulla mia macchina e con FireFox 3.
In ActionScript 3.0 l’ho usata all’interno della classe MatrixArray:








11
[...] parlato già di come realizzare il metodo shuffle() in Javascript e Actionscript. Mi sono accorto, tuttaavia, di non aver sottolineato che anche Actionscript è in grado di [...]
This is my own solution: http://www.daveoncode.com/2009/01/08/implementing-arrayshuffle-in-actionscript/
It’s only 3 lines of code and it works fine
@DaveOnCode: very short snippet
thx
[...] Come visto in Very short snippet: shuffle() in Javascript e Actionscript. [...]