Náhodná čísla v JavaScriptu
Náhodná čísla mají nejrůznější použití, od zábavných po praktické. Většina her zahrnuje nějakou náhodnost ve formě věcí, jako jsou kostky nebo zamíchané karty. Pokud chcete při návštěvě vaší stránky zobrazit náhodnou nabídku, potřebujete zdroj náhodnosti. Náhodná čísla nejsou všechno zábavné a hry, náhodná čísla se používají v kryptografii, pro náhodné vzorkování, pro modelování a pro uvádění věcí v náhodném pořadí (například kandidáti na tajné hlasování). Některá z těchto použití nepoužívají čísla přímo. , ale můžete převádět z náhodných čísel na náhodné věci umístěním věcí, které chcete vybrat, do řádků a náhodným výběrem řádku. Při programování pole fungují dobře. Náhodná čísla nejsou vždy náhodná. Pokud hodíte sadu spravedlivých kostek, získáte náhodná čísla, nicméně metody, které počítače používají k výběru náhodných čísel, jsou často pseudonáhodná čísla, což znamená, že se na povrchu jeví náhodně, ale ve skutečnosti jsou buď předvídatelná, nebo opakující se série. U některých věcí to není důležitý rozdíl. Pokud zobrazujete náhodné nabídky nebo vtipy pokaždé, když někdo načte vaši webovou stránku, pravděpodobně nezáleží na tom, že někdo může předvídat, kdy se konkrétní nabídka zobrazí, a můžete bezpečně používat pseudonáhodná čísla (v tom případě byste pravděpodobně mohli pouze ukažte své citace v pořadí, v jakém jste je napsali.) Pokud se pokoušíte provádět náhodné testování drog sportovců Tour de France, je důležité, aby sportovci nebyli schopni předvídat, kdy nebo zda budou testováni.

Objekt Math Math obsahuje metodu, která poskytuje pseudonáhodná čísla. Na rozdíl od mnoha jiných programovacích jazyků vám JavaScript neumožňuje vložit generátor čísel vlastním zdrojem náhodnosti. Různé implementace se liší v tom, jak blízko jsou skutečně náhodná poskytnutá čísla, ale obecně by měla být dost dobrá pro použití pro zábavné nebo umělecké použití, ale pokud potřebujete náhodná čísla pro zákonem regulované nebo bezpečnostní účely, měli byste najít lepší zdroj náhodnost. math.random () metoda vrací náhodné číslo, které je buď 0, nebo mezi 0 a 1. Některé verze prohlížeče Opera mají nekompatibilní standardy math.random () metoda, která se velmi zřídka vrátí 1. Tento neočekávaný výsledek musíte nějak vyřešit - nejjednodušší návrh, který jsem viděl, je použít operátor modulo s jedním oproti hodnotě vrácené math.random (), vrátí se původní hodnota, pokud je náhodné číslo v definovaném rozsahu a 0, pokud máte 1. Také zjišťuji, že nepotřebuji náhodné desetinné číslo menší než jedno, ale spíše náhodné celé číslo. Chcete-li získat náhodné celé číslo, vynásobte hodnotu z math.random () podle počtu potenciálních náhodných čísel (X) a nalezení předchozího nebo následujícího celého čísla. Matematický objekt poskytuje metody podlahy a stropu, které můžete použít pro tento účel. Pokud používáte math.floor () metoda, dostanete číslo od 0 do (X-1). Pokud používáte math.ceiling () metoda dostanete celé číslo od 1 do X.

Chcete-li najít náhodné číslo mezi 0 a (X-1), použijte:

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

Jsou to zvláště užitečné pro nalezení náhodného prvku pole.

Chcete-li najít náhodné číslo mezi 1 a X, použijte:

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

Úkoly jako je tento, které jsou celkem běžné, ale vyžadují trochu psaní, jsou dobrými kandidáty na to, aby se stali funkcí.

Chcete-li diskutovat o rozdílu mezi skutečně náhodnými čísly a pseudonáhodnými čísly, které zde používáme, zdrojem skutečně náhodných čísel a některými příklady zábavných věcí, které můžete dělat s náhodnými nebo pseudonáhodnými čísly, se podívejte na www.random. org

Video Návody: Náhodná čísla v PHP (Smět 2024).