Willekeurige nummers in JavaScript
Willekeurige getallen hebben allerlei toepassingen, van het plezier tot het praktische. De meeste spellen bevatten een soort willekeur in de vorm van dingen zoals dobbelstenen of geschudde kaarten. Als u een willekeurig citaat wilt weergeven wanneer iemand uw pagina bezoekt, heeft u een bron van willekeur nodig. Willekeurige getallen zijn niet allemaal leuk en spellen, willekeurige getallen worden gebruikt in cryptografie, voor willekeurige steekproeven, voor modellering en om dingen in willekeurige volgorde te plaatsen (zoals kandidaten voor een stemming). Sommige van deze toepassingen gebruiken nummers niet rechtstreeks , maar u kunt converteren van willekeurige getallen naar willekeurige dingen door de dingen die u wilt kiezen in rijen te plaatsen en willekeurig een rij te kiezen. In de programmering werken arrays hier goed voor. Willekeurige getallen zijn niet altijd echt willekeurig. Als je een aantal eerlijke dobbelstenen gooit, krijg je willekeurige getallen, maar de methoden die computers gebruiken om willekeurige getallen te kiezen, zijn vaak pseudo-willekeurige getallen, wat betekent dat ze willekeurig lijken op het oppervlak, maar ze zijn eigenlijk voorspelbaar of een herhalende reeks. Voor sommige dingen is dit geen belangrijk verschil. Als u elke keer dat iemand uw webpagina laadt een willekeurig citaat of een grap weergeeft, maakt het waarschijnlijk niet uit dat iemand kan voorspellen wanneer een specifiek citaat zal verschijnen en u kunt veilig pseudo-willekeurige getallen gebruiken (wat dat betreft, u zou waarschijnlijk laat uw citaten gewoon zien in de volgorde waarin u ze hebt genoteerd.) Als u willekeurige drugstests van Tour de France-atleten probeert uit te voeren, is het van cruciaal belang dat atleten niet kunnen voorspellen wanneer en of ze zullen worden getest.

Het JavaScript Math-object bevat een methode die pseudo-willekeurige getallen biedt. In tegenstelling tot veel andere programmeertalen, staat JavaScript u niet toe om de nummergenerator met uw eigen bron van willekeur te zaaien. Verschillende implementaties verschillen in hoe dicht bij echt willekeurige getallen zijn, maar over het algemeen moeten ze goed genoeg zijn om te gebruiken voor plezierig of artistiek gebruik, maar als u willekeurige getallen nodig hebt voor wettelijk gereguleerde of beveiligingsdoeleinden, moet u een betere bron vinden van willekeurigheid. De Math.random () methode retourneert een willekeurig getal dat 0 of tussen 0 en 1 is. Sommige versies van de Opera-browser voldoen niet aan de normen Math.random () methode die zeer zelden zal terugkeren 1. U moet op de een of andere manier omgaan met dit onverwachte resultaat - de eenvoudigste suggestie die ik heb gezien, is om de modulo-operator te gebruiken met een tegen de waarde die wordt geretourneerd door Math.random (), dit retourneert de oorspronkelijke waarde als het willekeurige getal in het gedefinieerde bereik ligt en 0 als je een 1 hebt. Ook vind ik dat ik geen willekeurig decimaal minder dan één nodig heb, maar eerder een willekeurig geheel getal. Om een ​​willekeurig geheel getal te krijgen, vermenigvuldigt u de waarde van Math.random () door het aantal potentiële willekeurige getallen dat u wilt (X) en het vorige of volgende gehele getal te vinden. Het wiskundige object biedt vloer- en plafondmethoden die u hiervoor kunt gebruiken. Als u de math.floor () methode, krijgt u een nummer van 0 tot (X-1). Als u de math.ceiling () methode krijgt u een geheel getal van 1 tot X.

Gebruik het volgende om een ​​willekeurig getal tussen 0 en (X-1) te vinden:

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

Deze zijn met name handig voor het vinden van een willekeurig array-element.

Gebruik het volgende om een ​​willekeurig getal tussen 1 en X te vinden:

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

Taken zoals deze die vrij algemeen zijn, maar nogal wat typen vereisen, zijn goede kandidaten om in een functie te worden omgezet.

Voor een bespreking van het verschil tussen echt willekeurige getallen en de pseudo-willekeurige getallen die we hier gebruiken, een bron van echt willekeurige getallen en enkele voorbeelden van leuke dingen die je kunt doen met willekeurige of pseudo-willekeurige getallen, kijk op www.random. org

Video-Instructies: Javascript Arabic Tutorials - Show Random Image Every X Seconds (Mei 2024).