Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

suelystonn

Fazer array randômico sem repetir

Recommended Posts

Olá pessoal,

 

Estou querendo fazer um array randômico que exiba somente 1 elemento por vez e que não se repita os que já foram mostrados até acabar, quando acabar de exibir todos os elementos, quando acabar colocar todos os elementos de novo no array e seguir exibindo um por vez randômicamente até acabar e assim sucessivamente.

 

Tenho o seguinte código que faz com que os elementos da array fiquem aleatórios, porém sempre repete algum que já foi exibido antes de ter mostrado todos.

function randOrd() {
    return (Math.round(Math.random())-0.5);
}
var nome = Array();
nome[0] = "Carlos";
nome[1] = "João";
nome[2] = "Leo";
nome[3] = "Maria";
nome[4] = "Silvia";

nome.sort(randOrd);

alert(nome[0]);

Quem puder me ajudar agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

No seu caso, você está retornado um valor aleatíorioa, mas pode ocorrer repetições (que é o caso).

 

Ao invés de retornar apenas um valor aleatório, o ideal é randomizar os valores no array e então exibí-los em ordem.

 

Exatamente o que ocorre em ambos os links abaixo:

http://stackoverflow.com/questions/6274339/how-can-i-shuffle-an-array-in-javascript

http://stackoverflow.com/questions/2450954/how-to-randomize-shuffle-a-javascript-array

Compartilhar este post


Link para o post
Compartilhar em outros sites

A sugestão do Gabriel parece te atender. Como vc tentou ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.