Nasumični brojevi u JavaScript-u
Nasumični brojevi imaju sve vrste upotrebe, od zabavnog do praktičnog. Većina igara uključuje neku vrstu nasumičnosti u obliku stvari poput kockica ili mješanih kartica. Ako želite prikazati slučajni citat kada netko posjeti vašu stranicu, potreban vam je izvor slučajnosti. Nasumični brojevi nisu sva zabava i igre, slučajni brojevi koriste se u kriptografiji, za slučajno uzorkovanje, modeliranje i stavljanje stvari slučajnim redoslijedom (kao što su kandidati na glasačkom listiću). Neki od tih načina upotrebe brojeva nisu izravno , ali možete pretvoriti iz slučajnih brojeva u slučajne stvari stavljajući stvari koje želite odabrati u redove i nasumično birati red. U programiranju nizovi dobro rade za to. Nasumični brojevi nisu uvijek istinski slučajni. Ako bacite skup poštenih kockica, dobit ćete slučajne brojeve, međutim metode koje računala koriste za odabir slučajnih brojeva često su pseudo-slučajni brojevi, što znači da se na površini čine slučajnim, no zapravo su ili predvidljivi ili ponavljajući niz. Za neke stvari ovo nije bitna razlika. Ako prikazujete slučajni citat ili se šalite svaki put kada netko učita vašu web stranicu, vjerojatno nije važno da li netko može predvidjeti kada će se pojaviti određeni citat i možete sigurno koristiti pseudo-slučajne brojeve (za to, vjerojatno biste mogli samo pokažite svoje citate redoslijedom kojim ste ih upisali.) Ako pokušavate napraviti nasumično testiranje droga sportaša Tour de Francea, od presudne je važnosti da sportaši ne mogu predvidjeti kada i hoće li ih testirati.

Objekt JavaScript Math uključuje metodu koja daje pseudo slučajne brojeve. Za razliku od mnogih drugih programskih jezika, JavaScript vam ne omogućuje zasijavanje brojača s vlastitim izvorom slučajnosti. Različite se implementacije razlikuju u tome koliko su stvarno slučajni brojevi koji se daju, ali općenito, oni bi trebali biti dovoljno dobri za zabavu ili umjetničku upotrebu, ali ako su vam potrebni slučajni brojevi za zakonski regulirane ili sigurnosne svrhe, trebali biste pronaći bolji izvor slučajnost. math.random () vraća slučajni broj koji je ili 0 ili između 0 i 1. Neke verzije preglednika Opera odgovaraju nekompatibilnom standardu math.random () metoda koja će se vrlo rijetko vratiti 1. Trebate se nekako nositi s tim neočekivanim rezultatom - najlakši prijedlog koji sam vidio je da se koristi modulov operator s onom prema vrijednosti vraćenoj od math.random (), to će vratiti izvornu vrijednost ako je slučajni broj u definiranom rasponu i 0 ako ste dobili 1. Također, smatram da mi ne treba slučajni decimalni broj manji od jedan, već slučajni cijeli broj. Da biste dobili slučajni cijeli broj, množite vrijednost s math.random () prema broju potencijalnih slučajnih brojeva koje želite (X) i pronalaženju prethodnog ili sljedećeg cijelog broja. Matematički objekt pruža metode poda i stropa koje možete koristiti u tu svrhu. Ako koristite the math.floor () metodom, dobit ćete broj od 0 do (X-1). Ako koristite math.ceiling () metoda dobit ćete cijeli broj od 1 do X.

Za pronalazak slučajnog broja između 0 i (X-1) koristite:

Math.floor ((Math.random ()% 1) * X)

Oni su osobito korisni za pronalaženje slučajnog elementa niza.

Da biste pronašli slučajni broj između 1 i X, upotrijebite:

Math.ceiling ((Math.random ()% 1) * X)

Zadaci poput ovog koji su prilično česti, ali zahtijevaju poprilično tipkanje, dobri su kandidati za pretvaranje u funkciju.

Za raspravu o razlici između doista slučajnih brojeva i pseudo slučajnih brojeva koje ovdje koristimo, izvora uistinu slučajnih brojeva i nekoliko primjera zabavnih stvari koje možete napraviti sa slučajnim ili pseudo-slučajnim brojevima potražite na www.random. org

Upute Video: LakoTuts - Node.js 4.lekcija - JavaScript Brojevi i Booleani (Travanj 2024).