Autor | Zpráva | ||
---|---|---|---|
Dartin Profil * |
#1 · Zasláno: 11. 11. 2020, 17:57:48
Ahoj,
prosím, lze nějakým způsobem vygenerovat řadu 4 čísel z rozmezí 1-9 tak, aby byla všechna jedinečná? Vím, že 1 číslo můžu vygenerovat takto: var cislo = Math.floor((Math.random() * 9) + 1); A pro 4 čísla to můžu ještě 3x zopakovat. Ale problém je, že se čísla budou občas opakovat. Jak tedy ošetřit jedinečnost? Děkuji za pomoc, D. |
||
anonym_ Profil * |
#2 · Zasláno: 11. 11. 2020, 18:03:06
Dartin:
Pamatuj si, která čísla jsi už generoval a v případě jejich znovuvygenerovani pokus opakuj. |
||
Dartin Profil * |
#3 · Zasláno: 11. 11. 2020, 18:33:05
Mohl bys byt prosim trosku konkretnejsi?
Predpokladam, ze to bude nejak pres while, ale JS neni moje domena. :-) |
||
RastyAmateur Profil |
#4 · Zasláno: 11. 11. 2020, 18:44:27
Dartin:
Další možnost bez while cyklu je tato: Udělej si pole čísel od 1 do 9 a pak jej zamíchej. Na závěr si vytáhni první 4 čísla. Jak udělat pole čísel od 1 do devíti? Jak zamíchat pole? |
||
Dartin Profil * |
#5 · Zasláno: 11. 11. 2020, 19:05:02
Tak nakonec jsem to zbastlil takto. Zda se, ze to funguje...
var cisla = []; while (cisla.length < 4) { var cislo = Math.floor(Math.random() * 9) + 1; if (cisla.indexOf(cislo) == -1) { cisla.push(cislo); } } |
||
Taps Profil |
#6 · Zasláno: 11. 11. 2020, 19:27:07
|
||
Časová prodleva: 3 roky
|
0