Tässä on JavaScript pätkä joka arpoo satunnaisluvun, arpooko se väliltä 1-3 vai 0-3. Ja miten saan ihan itse testattua tuon mitä se tekee.
var text;
var x = Math.floor(Math.random() * 3);
switch(x) {
case 1: text = "Satunnaisluku 1"; break;
case 2: text = "Satunnaisluku 2"; break;
case 3: text = "Satunnaisluku 3"; break;
default:text = "Satunnaisluku 0";
}
JavaScript ja satunnaisluvun arpominen
13
279
Vastaukset
- Anonyymi
Kauankohan menisi aikaa neljä miljardin kierroksen while silmukassa.
t. ap. - Anonyymi
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random
Luku tulee väliltä 0-2, sillä Math.random() antaa luvun väliltä [0, 1), joten kokonaisosa jää aina alle kolmen. Luvut 0, 1 ja 2 taas ovat kaikki mahdollisia ja yhtä todennäköisiä (Math.random() tasajakautunut). Periaatteessa, vaikka 1 olisikin Math.random():n mahdollinen arvo, olisi sen todennäköisyys 0, jos ajatellaan Math.random():n noudattavan tasajakaumaa.
Helpoiten saat testattua syöttämällä koodin konsoliin. Mihin sinä muuten tuota text:iä
ja switch:iä tuossa tarvitset? Testiä varten vain tulosta luku x konsoliin koodilla
console.log(x);
Ja sen tekstinkin saat näppärämmin näin (pistetään nyt toString() varmuuden vuoksi vaikka sitä ei tarvitsisi :D ):
var text = "Satunnaisluku " x.toString();- Anonyymi
var text;
console.log(Math.floor(Math.random() * 2));
Arpoo 0 ja 1 - Anonyymi
Anonyymi kirjoitti:
var text;
console.log(Math.floor(Math.random() * 2));
Arpoo 0 ja 1ei tarvita var text; riviä
- Anonyymi
Tee tuosta funktio näin:
var munRandom = () => Math.floor(Math.random()*3);
niin on helpompi testailla. Laita vaikka listaan 100 randomia ja kunkin luvun lukumäärä:
var n = 100;
var data = new Array(n).fill(0).map(munRandom);
var maarat = [0,1,2].map(k=>data.filter(x=>x===k).length);
console.log(maarat);- Anonyymi
Kovastipa se näyttää helposti ymmärrettävältä, mutta toimii.
- Anonyymi
Var on mennyttä aikaa. Käyttäkää muuttujille lettiä ja muuttumattomille constia.
https://ui.dev/var-let-const/- Anonyymi
Onko tässä nyt kysymys muuttujan näkyvyysalueen laajuudesta, var muuttuja on paikallinen ja let globaali.
- Anonyymi
Anonyymi kirjoitti:
Onko tässä nyt kysymys muuttujan näkyvyysalueen laajuudesta, var muuttuja on paikallinen ja let globaali.
Joo, mutta toiste perin: var on 'globaali' tai siis funktio-skoopissa globaali tai miten se nyt sanotaan, siis jos sulla on funktio, niin var:illa määritelty näkyy siellä kaikkialla.
Ite käytän varria sillon jos pitää vaan nopeesti konsolissa jotain juttua kokeilla. Sen voi laittaa uudestaan saman koodin kun sitä korjailee, kun var ei välitä vaikka olisi ennenkin määritelty.
- Anonyymi
Jos et laita alkuun random-generaattorin siemenlukua josta se aloittaa, aloittaa aina samasta, jolloin tulee samoja lukuja aina peräkkäin kun olet käynnistänyt tietokoneen uudelleen ja ajat tuon ohjelman.
Eli pitää synkronoida aikaan tavallaan tuo satunnaislukugeneraattori, C-kielessä on tuollainen srand(TIME); joku vastaava funktio on varmasti JAVA:ssakin.
c:ssä srand() ja raqnd(), itse käytän aivan omaa satunnaislukugeneraattoriani en noita valmiita.- Anonyymi
Laittaisihan sitä vaikka mitä siemeniä kun osaisi.
- Anonyymi
Ymmärrät varmastikin mitä tarkoitan, että ei ole kovinnaisia=kovin satunnaisia ne luvut jos aina tietokoneen käynnistyttyä se alkaa arpomaan samojqa lukuja.
Mekaanisen randomlukugeneraattorin saa helposti tehtyä näin: kaada näppäimistön päälle kupillinen juomaa, ala sen jälkeen painelemaan numeronäppäimiä, kokeillen mitä tulee.
Ehkä parempi ottaa random jostain digitoidusta lähteestä, vaikka web-kameran kuvasta joka kuvaa ulkopuolelle jollain algoritmilla laskemalla liikkuvasta kuvasta numeroita.- Anonyymi
Tämä on jo kokeiltu.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
SDP jo 100 % suositumpi kuin persut
Kertoo Hesarin uusin kannatuskysely. Demareiden kannatus on miltei tuplat verrattuna persuihinl. Suomen kansa ei selväst11510773- 2554656
SDP haluaa 40 000 nettomaahanmuuttajaa
SDP:n Suunnanmuutos-vaihtoehtobudjetissa, käy ilmi, että demarit itse asiassa vaativat räjähdysmäistä ”työperäisen” maah1774021Orpo: Velkajarrua vastustavaa puoluetta vaikea ajatella hallitukseen
No Minja Koskelan kommunistipuolue jäi ulos tuosta. Kaikki eduskuntapuolueet vasemmistoliittoa lukuun ottamatta sopivat1773513PS ylivoimainen nousija myös HS:n gallupissa, SDP laskee taas
https://www.verkkouutiset.fi/a/hs-gallup-sdpn-suosio-laskee-ps-nousussa/#0a7d2507 Ylivoimainen viime kuukausien nousija823349Mikä tämä henkilö mahtaa touhuta Parkanossa
Kamalaa https://www.ylasatakunta.fi/teksti/pirkanmaan-karajaoikeus-vangitsi-koiran-tappamisesta-epaillyn-6.68.127794.b58423137Valtavasti suomalaisia asunnottomina, mutta ei yhtään somalia
tai muuta kehitysmaalaista. Mites tässä näin kävi? Tiedän hyvin, että esim. somaleita lentää ulos mm. Hekan asunnoista,793126Ikävä sinua mies
Vuosia kuluu, mutta tunteet ei ole hävinnyt. Tasoittuneet toki, kun ei olla nähty. Järki palannut päähän kuitenkin. Se i272689Hienoa! Eduskunta luopui käteisen käytöstä
Nyt tuo sama muutos pitää saada myös muuhun yhteiskuntaan. Käteistähän ei tarvitse tänä päivänä enää kuin rikolliset.681831Kiinnostaa - ei kiinnosta - kiinnostaapas
Selittäkää hämmentyneelle miksi miehiä ei ikinä kiinnosta silloin, kun sitä olisi itsekin kiinnostunut? Sitten kun siirt1801665