Jeśli "prawdziwa" przypadkowość jest ważna, zalecam przeciw temu. Zobacz moją poniższą edycję.
Chciałem tylko dodać mój ulubiony sposób na trochę odmiany;)
Podając łańcuch:
var str = "My bologna has a first name, it's O S C A R.";
Shuffle w jednym wierszu:
var shuffled = str.split('').sort(function(){return 0.5-Math.random()}).join('');
Wyjścia:
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
EDYCJA: Jak zaznaczyła @PleaseStand, nie spełnia to w ogóle pytania OP, ponieważ cierpi na "kod Shuffle" przeglądarki Microsoft ". To nie jest bardzo dobry randomizer, jeśli twój ciąg musi być blisko losowy. Jest jednak niesamowicie szybkie "pomieszanie" twoich strun, gdzie "prawdziwa" przypadkowość jest nieistotna.
Artykuł, który zamieszczono poniżej, jest świetną lekturą, ale wyjaśnia zupełnie inny przypadek użycia, który wpływa na dane statystyczne. Osobiście nie mogę sobie wyobrazić praktycznego problemu z używaniem tej "losowej" funkcji w łańcuchu, ale jako programista, jesteś odpowiedzialny za to, aby wiedzieć, kiedy to użyć.
Zostawiłem to tutaj dla wszystkich przypadkowych randomizerów.
Dzięki temu jest zdecydowanie bardziej jednolity niż inne przykłady, które znalazłem. – Liam