Objašnjena metoda JavaScript Math.random ()

Slučajna metoda

JavaScript Math.random()metoda izvrsna je ugrađena metoda za dobivanje slučajnih brojeva. Kada Math.random()se izvrši, vraća slučajni broj koji može biti između 0 i 1. 0 je uključeno, a 1 je isključeno.

Generiranje slučajnog broja s pomičnom zarezom između 0 i 1

Math.random()Metoda će vratiti točke (decimalni) broj veći plutajući od ili jednak 0 i manji od (ali nikada jednaka) 1. Drugim riječima 0 <= x < 1. Na primjer:

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

(Naravno, vraćeni brojevi svaki će se put razlikovati. To će se pretpostaviti za sve sljedeće primjere - na svakom prolazu dogodit će se različiti rezultati.)

Da biste dobili slučajni broj između većeg raspona, pomnožite rezultat Math.random()s brojem.

Generiranje slučajnog broja s pokretnom zarezom između 0 i određenog maks

Obično vam ne trebaju slučajni brojevi između 0 i 1 - trebaju vam veći brojevi ili čak cijeli brojevi.

Na primjer, ako želite slučajni broj s pomičnom zarezom između 0 i 10, možete koristiti:

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

Generiranje slučajnog broja s pokretnom zarezom u rasponu

Ako vam je potreban slučajan broj s pomičnom zarezom koji se kreće između dva određena broja, možete učiniti nešto poput ovog:

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

Generiranje slučajnog cijelog broja između 0 i max

Često vam trebaju cijeli brojevi. Da biste to učinili, morat ćete upotrijebiti neke druge metode iz Mathobjekta, Math.floor()(zaokružuje se na najbliži cijeli broj) i Math.ceil()(zaokružuje na najbliži cijeli broj).

Na primjer, ako trebate nasumično odabrati niz od 10 elemenata, trebat će vam slučajan broj između 0 i 9 (sjetite se da su nizovi indeksirani nula).

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

(Imajte na umu da Math.random()se nikad neće vratiti točno 1, pa Math.random()*10se neće vratiti točno 10. To znači da će rezultat nakon zaokruživanja uvijek biti 9 ili manje.)

Generiranje slučajnog cijelog broja između 1 i max

Ako vam je potreban slučajan broj s minimalnim brojem 1 (na primjer odabir slučajnog dana u siječnju), možete koristiti Math.ceil()metodu.

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

Drugi način bio bi korištenje prethodne funkcije (pomoću Math.floor()) i dodavanje 1 u nju:

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

Generiranje slučajnog cijelog broja unutar raspona

I na kraju, povremeno vam treba slučajni cijeli broj između dvije određene cijele brojeve. Na primjer, ako pokušavate odabrati tombolu i znate brojeve najmanjeg i najvećeg broja:

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

Koliko je slučajan Math.random ()?

Može se naglasiti da je broj koji je vratio Math.random()pseudo-slučajan broj, jer niti jedno računalo ne može generirati uistinu slučajni broj, koji pokazuje slučajnost na svim ljestvicama i u svim veličinama skupova podataka. Međutim, pseudo-slučajni broj koji generira Math.random()obično je dovoljan za potrebe gotovo bilo kojeg programa koji napišete. Neistinitost slučajnosti postaje očita samo u astronomski velikim brojevima skupova ili kada su potrebni neobično precizni decimali.