Ir para conteúdo

POWERED BY:

Arquivado

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

marcelo2605

[Resolvido] Gerar sequência de números randômicos não repetidos

Recommended Posts

Pessoal, preciso adicionar uma sequência randômica de números não repetidos dentro de uma lista de 20 divs.

 

Então fiz isso:

 

$('div').each(function(index){  
  var numRand = Math.floor(Math.random()*21)
  $(this).text(numRand);    
});​

 

O problema é que os números não podem se repetir. Alguém pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 - Crie uma array

2 - Gera um número randômico, após gerado você:
   2.1 - Verifica se o número já existe na array:
       2.1.1 - Se já existir, volta para a etapa 2.
       2.1.2 - Se não existir,adiciona-o à array.
               Então pode usá-lo para os fins que desejar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Wercks e JCMais, obrigado pela ajuda.

 

Na verdade todo o script da página está em um arquivo .js separado, carregado no final do body

 

Sobre as divs, a verdade é que são dois conjuntos:

 

<div id="perguntas">
 <div>Pergunta 1</div>
 <div>Pergunta 2</div>
 <div>Pergunta 3</div>
 <div>Pergunta 4</div>
 ... até 20
</div>

<div id="respostas">
 <div>Resposta 1</div>
 <div>Resposta 2</div>
 <div>Resposta 3</div>
 <div>Resposta 4</div>
 ... até 20
</div>

 

Ou seja, preciso criar uma sequência randômica de números para servirem como id de cada pergunta (#pergunta1) e que o mesmo número randômico dado a primeira pergunta da lista seja também dado a primeira resposta da lista (#resposta1) e assim por diante.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não uso jsfiddle, mas acho que ele não interpreta esta parte, mas os navegadores sim!

O que importa é que funciona nos navegadores e sem erros, afinal as pessoas vão usar os navegadores e não o jsfiddle.

 

JSLint é uma ferramenta para analisar o código e ajudar a melhorar a qualidade do mesmo. Não têm ligação com o jsfiddle, que é apenas um editor de código online, o jsfiddle apenas disponibiliza o mesmo para testar o código atual.

 

--

 

Aqui o aviso que aparece é este:

Implied global: shuffle 1

 

E simplesmente está dizendo que você definiu a variável shuffle sem usar o var.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, parece que o script funciona bem. Mas preciso aplicar o número randômico gerado em doi locais diferentes. Então fiz o seguinte:

 

$('.conjunto').each(function() {
   $(this).addClass('palavras' + (randorder[index++]));
});

$('.resultadosLista').each(function() {
   $(this).addClass('resultado' + (randorder[index++]));
});

 

O problema é que no caso do segundo, o resultado obtido é a classe "resultadoundefined" para todos. O que está errado?

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.