Se "veramente" casualità è importante, mi raccomando contro questo. Vedi la mia modifica qui sotto.
Volevo solo aggiungere il mio metodo preferito per un po 'di varietà;)
Data una stringa:
var str = "My bologna has a first name, it's O S C A R.";
Shuffle in una sola riga:
var shuffled = str.split('').sort(function(){return 0.5-Math.random()}).join('');
Uscite:
oa, a si'rSRn f gbomi. aylt AtCnhO ass eM
as'oh ngS li Ays.rC nRamsb Oo ait a ,eMtf
y alCOSf e gAointsorasmn bR Ms .' ta ih,a
EDIT: Come @PleaseStand ha sottolineato, questo non soddisfa la domanda di OP a tutti dal momento che soffre di codice "Browser Choice riordino di Microsoft". Questo non è un buon randomizzatore se la tua stringa deve essere vicina al caso. È comunque fantastico creare rapidamente "confuse" le tue corde, dove la "vera" casualità è irrilevante.
L'articolo si collega sotto è un grande letto, ma spiega un caso d'uso del tutto diverso, che colpisce i dati statistici. Personalmente non riesco a immaginare un problema pratico con l'uso di questa funzione "casuale" su una stringa, ma come programmatore, sei responsabile di sapere quando non è utilizzare questo.
Ho lasciato questo qui per tutti i sistemi randomizer occasionali là fuori.
fonte
2012-11-13 17:51:00
Grazie, questo è decisamente più uniforme di altri esempi che ho trovato. – Liam