Como criar um array com números aleatórios não repetidos ? [RESOLVIDO]

1. Como criar um array com números aleatórios não repetidos ? [RESOLVIDO]

Álex Claudio
alex_C1

(usa Outra)

Enviado em 26/04/2021 - 07:43h

Como criar um array com números aleatórios não repetidos ?


  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 26/04/2021 - 16:21h


Boa tarde Aléx.
Segue exemplo:
<!DOCTYPE html>
<html lang="pt-BR">
<head><style></style></head><body>
<div>
<button id="bt00" title="Click para gerar a Array" onclick=geranum();>Gera Array</button>
<hr>
<h3>Gera array com 7 Nºs não repetidos, de 00 a 60</h3>
<p id="resp"></p>
</div>
<script>
var d=document, i=0;


function geranum(){
var mtz=[], pos=0;
while(mtz.length<=6){
let num=(Math.floor(Math.random()*61));
num=addZero(num, 2); //formata num com 2 dígitos
/*
pos = posição do num na matriz,
se pos = -1, não encontrou, e num é armazenado em 'mtz'. => Veja no log
*/

pos=mtz.toString().search(num);
console.log('Num => '+num+' Pos => '+pos);
if(pos<0) mtz.push(num);
}
document.getElementById('resp').innerHTML+='<hr>Size => '+mtz.length+' Matriz => '+mtz.join(' | ');
}

function addZero(y,n) {
while (y.toString().length < n) {
y = "0" + y;}
return y;
}
</script>
</body>
</html>

Veja mais detalhes de Math.floor(Math.random() em:
https://www.w3schools.com/js/default.asp



______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p',
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:

Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.


______________________________________________________________________