Autor Zpráva
Robbie
Profil *
Ahoj, chtěl bych vysledek tohoto .js kodu aby se prosím vypsal v elementu <p id="demo"><p/>
,ale nevím jak to udělat, pomuže někdo? Děkuju

javascript kod:

function myFunction() {
    document.getElementById("demo").innerHTML = 
var arr = [];
while(arr.length < 8){
  var randomnumber=Math.ceil(Math.random()*100)
  var found=false;
  for(var i=0;i<arr.length;i++){
 if(arr[i]==randomnumber){found=true;break}
  }
  if(!found)arr[arr.length]=randomnumber;
}
document.write(arr);
Trejpa
Profil
Robbie:
Chybí ti tam závorka.

příklad
Robbie
Profil *
Trejpa:
Děkuji moc. Skvělé, jen jestli mužeš trošku česky vysvětlit ten KOD, jestli budeš mít chvilku..

Jen jestli mi můžeš vysvětlit-rozebrat, proč je na začátku : var found=false;

2.dále pak, co udělá nebo jakou funkci má tahle část kodu:

 if(arr[i]==randomnumber)
            {
            found=true;
            break
            }

3. jakou funkci má tahle část kodu:
if(!found)arr[arr.length]=randomnumber; //proc za if(!found) neni tečka?
Tomášeek
Profil *
Robbie:
var found=false;
Definice proměnné found (nalezeno) na defaultní hodnotu false (čili nenalezeno).

2.dále pak, co udělá nebo jakou funkci má tahle část kodu:
Pokud v poli arr existuje randomnumber, změň hodnotu proměnné found na tru (čili nalezeno) a vyskoč z cyklu (break), dále procházet není třeba, už bylo nalezeno.

3. jakou funkci má tahle část kodu:
To bys měl vědět, je to součást tvého původního kódu.

proc za if(!found) neni tečka?
Protože to není objekt, ale podmínka zapsaná prasáckým způsobem. Kdybys jen nekopíroval odjinud a napsal si tu podmínku sám, napsal by sis ji asi jinak, ideálně takto:

if (!found) {
    arr[arr.length] = randomnumber;
}

Tenhle kód říká, že pokud není hledané "náhodné číslo" obsaženo v poli arr, doplň jej na konec.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0