Satunnaiset numerot JavaScript-muodossa
Satunnaislukuilla on kaikenlaisia ​​käyttötarkoituksia hauskasta käytännölliseen. Useimpiin peleihin liittyy jonkinlainen satunnaisuus esimerkiksi noppien tai sekoitettujen korttien muodossa. Jos haluat näyttää satunnaisen tarjouksen, kun joku käy sivullasi, tarvitset satunnaisuuslähteen. Satunnaislukut eivät ole kaikki hauskoja ja pelejä, satunnaislukuja käytetään salauksessa, satunnaisnäytteissä, mallinnuksessa ja asioiden sijoittamisessa satunnaiseen järjestykseen (kuten ehdokkaat äänestyskierrossa.) Jotkut näistä käytöistä eivät käytä numeroita suoraan , mutta voit muuntaa satunnaislukuista satunnaisiksi asioiksi lisäämällä haluamasi asiat riveihin ja valitsemalla rivin satunnaisesti. Ohjelmoinnissa taulukot toimivat tähän hyvin. Satunnaisluvut eivät aina ole todella satunnaisia. Jos vierität sarjaa reiluja noppaa, saat satunnaislukuja, mutta menetelmät, joita tietokoneet käyttävät satunnaislukujen valitsemiseen, ovat usein pseudo-satunnaislukuja, mikä tarkoittaa, että ne näyttävät sattumanvaraisilta pinnalla, mutta ne ovat itse asiassa joko ennustettavissa tai toistuva sarja. Joidenkin asioiden osalta tämä ei ole tärkeä ero. Jos näytät satunnaista tarjousta tai vitsit joka kerta, kun joku lataa verkkosivusi, ei todennäköisesti ole väliä, että joku voi ennustaa, milloin tietty tarjous ilmestyy, ja voit käyttää turvallisesti pseudosatunnaisia ​​numeroita (tässä suhteessa voisit todennäköisesti Näytä vain tarjouksesi siinä järjestyksessä kuin kirjoitit ne muistiin.) Jos yrität tehdä satunnaisia ​​huumetestejä Tour de France -urheilijoille, on ratkaisevan tärkeää, että urheilijat eivät pysty ennustamaan, milloin tai testataanko he.

JavaScript Math -objekti sisältää menetelmän, joka tarjoaa näennäissatunnaisia ​​numeroita. Toisin kuin monet muut ohjelmointikielet, JavaScript ei salli numeroiden generaattorin siementtämistä omalla satunnaislähteellä. Eri toteutukset eroavat toisistaan, kuinka lähellä todella satunnaisia ​​numerot ovat, mutta yleensä niiden tulisi olla riittävän hyviä käyttääksesi hauskaa tai taiteellista käyttöä varten, mutta jos tarvitset satunnaislukuja lakisääteisiin tai turvallisuustarkoituksiin, sinun pitäisi löytää parempi lähde satunnaisuuden. Math.random () menetelmä palauttaa satunnaisluvun, joka on joko 0 tai välillä 0 ja 1. Joillakin Opera-selaimen versioilla ei ole standardien mukaisia Math.random () menetelmä, joka palauttaa hyvin harvoin 1. Sinun on jotenkin käsiteltävä tätä odottamatonta tulosta - helpoin ehdotus, jonka olen nähnyt, on käyttää modulo-operaattoria yhtä vastaan ​​arvoa, jonka palauttaa Math.random (), tämä palauttaa alkuperäisen arvon, jos satunnaisluku on määritellyllä alueella, ja 0, jos sinulla on 1. Lisäksi havaitsen, että en tarvitse satunnaista desimaalia, joka on pienempi kuin yksi, vaan satunnaista kokonaislukua. Saadaksesi satunnainen kokonaisluku kertomalla arvo kertoimella Math.random () haluamiesi potentiaalisten satunnaislukujen lukumäärän perusteella (X) ja edellisen tai seuraavan kokonaisluvun löytäminen Mateeminen esine tarjoaa lattia- ja kattomenetelmiä, joita voit käyttää tähän tarkoitukseen. Jos käytät Math.floor () -menetelmällä saat luvun 0 - (X-1). Jos käytät math.ceiling () -menetelmällä saat kokonaisluvun 1 - X.

Löytääksesi satunnaisluvun välillä 0 - (X-1), käytä:

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

Nämä ovat erityisen hyödyllisiä satunnaismatriisielementin löytämisessä.

Löydä satunnaisluku välillä 1 - X:

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

Tämänkaltaiset melko yleiset, mutta melko vähän kirjoittamista vaativat tehtävät ovat hyviä ehdokkaita funktion muuttamiseksi.

Tutustuksesi todella satunnaislukujen ja tässä käytettyjen pseudo-satunnaislukujen eroon, lähde todella satunnaislukuista ja esimerkkejä hauskoista asioista, joita voit tehdä satunnais- tai pseudo-satunnaislukuilla, katso www.random. Org

Video-Ohjeita: Exploring JavaScript and the Web Audio API by Sam Green and Hugh Zabriskie (Huhtikuu 2024).