JavaScripti Math.random () meetod on selgitatud

Juhuslik meetod

JavaScripti Math.random()meetod on suurepärane sisseehitatud meetod juhuslike arvude loomiseks. Kui see Math.random()on täidetud, tagastab juhusliku arvu, mis võib olla vahemikus 0 kuni 1. 0 on arvestatud ja 1 on välistatud.

Juhusliku ujukoma arvu genereerimine vahemikus 0 kuni 1

Math.random()Meetod tagastab ujukoma (koma) number on suurem või võrdne 0 ja väiksem kui (kuid mitte kunagi samasuguse) 1. Teisisõnu 0 <= x < 1. Näiteks:

console.log(Math.random()); // 0.7069207248635578 console.log(Math.random()); // 0.765046694794209 console.log(Math.random()); // 0.14069121642698246

(Muidugi on tagastatud numbrid iga kord erinevad. Seda eeldatakse kõigi järgmiste näidete puhul - igal läbimisel juhtuvad erinevad tulemused.)

Juhusliku arvu saamiseks suurema vahemiku vahel korrutage tulemus Math.random()arvuga.

Juhusliku ujukoma arvu genereerimine vahemikus 0 kuni määratud max

Tavaliselt pole teil vaja juhuslikke numbreid vahemikus 0 kuni 1 - vajate suuremaid numbreid või isegi täisarvusid.

Näiteks kui soovite juhuslikku ujukoma numbrit vahemikus 0–10, võite kasutada järgmist:

var x = Math.random()*10; console.log(x); // 4.133793901445541

Juhusliku ujukoma arvu genereerimine vahemikus

Kui vajate juhuslikku ujukoma numbrit, mis jääb kahe konkreetse arvu vahele, võiksite teha midagi sellist:

var min = 83.1; var max = 193.36; var x = Math.random()*(max - min)+min; console.log(x); // 126.94014012699063

Juhusliku täisarvu genereerimine vahemikus 0 kuni max

Sageli vajate täisarvusid. Selleks peate Mathobjektil kasutama mõnda muud meetodit Math.floor()(ümardab lähima täisarvuni) ja Math.ceil()(ümardab lähima täisarvuni).

Näiteks kui peate valima juhuslikult 10 elemendist koosneva massiivi hulgast, vajate juhuslikku arvu vahemikus 0–9 (pidage meeles, et massiivid on nullindekseeritud).

var x = Math.floor(Math.random()*10); console.log(x); // 7

(Pidage meeles, et Math.random()see ei naase kunagi täpselt 1, seega Math.random()*10ei saa te kunagi täpselt 10. See tähendab, et pärast ümardamist on tulemus alati 9 või vähem.)

Juhusliku täisarvu genereerimine vahemikus 1 kuni max

Kui vajate juhuslikku arvu, mille minimaalne arv on 1 (näiteks juhusliku päeva valimine jaanuaris), võite Math.ceil()meetodit kasutada .

var x = Math.ceil(Math.random()*31); console.log(x); // 23

Teine võimalus oleks olnud kasutada eelmist funktsiooni (kasutades Math.floor()) ja lisada sellele 1:

var x = Math.floor(Math.random()*31)+1; console.log(x); // 17

Juhusliku täisarvu genereerimine vahemikus

Lõpuks vajate aeg-ajalt juhuslikku täisarvu kahe konkreetse täisarvu vahel. Näiteks kui proovite loosipileteid valida ja teate väikseima ja suurema numbri numbreid:

var min = 1718; var max = 3429; var x = Math.floor(Math.random()*(max-min+1)+min); console.log(x); //2509

Kui juhuslik on Math.random ()?

Võib välja tuua, et tagastatud arv Math.random()on pseudojuhuslik arv, kuna ükski arvuti ei saa genereerida tõeliselt juhuslikku arvu, mis näitab juhuslikkust kõigis skaalades ja andmekogumite suurustes. Kuid loodud pseudojuhuslik arv Math.random()on tavaliselt piisav peaaegu kõigi teie kirjutatud programmide jaoks. Mitte-juhuslikkus ilmneb alles astronoomiliselt suurtes arvuhulkades või siis, kui on vaja harva täpseid kümnendkohti.