Este post foi atualizado, pois eu encontrei que existem diversos algoritmos para esta função chamado shuffle()
De qualquer maneira, ainda acredito que este seja o melhor e menor algoritmo.
Então, se quiserem, o melhor nome para esta função é shuffle() Pois no php, existe esta função nativa e funciona da mesma maneira!
Procurei algo como random() ou array_rand() que fosse nativa do JavaScript, porém não encontrei. Mas, econtrei uma função interessante, que funciona muito bem:
function randOrd() {
return (Math.round(Math.random())-0.5);
}
Caso tenhamos um array como no modelo:
var nome = Array();
nome[0] = "Carlos";
nome[1] = "João";
nome[2] = "Leo";
nome[3] = "Maria";
nome[4] = "Silvia";
Perceba que os valores de nosso array está em ordem alfabética. Utilizamos então a função randOrd() em nosso array:
nome.sort(randOrd);
Ao imprimir os array, eles estarão desordenados.
Uma maneira de exibí-los é utilizando um for:
totalNomes = nome.sizeOf;
for (i=0; i<totalnomes ; i++) {
document.write('\ Este é o array['+i+']: ' + nome[i]);
}
Este exemplo poderá mostrar:
Este é o array[0]: Maria
Este é o array[1]: João
Este é o array[2]: Leo
Este é o array[3]: Carlos
Este é o array[4]: Silvia