Datakurser
Aktuell vecka: 16

Tillbaka till toppen

Slumptal

Math-biblioteket

Slumptal: random() och avrundning: floor()

Funktionen Math.random() slumpar ut ett decimaltal mellan 0 och upp till 1 men inte lika med 1, det vill säga 0.0000 - 0.9999 . (random, w3schools)

Vi kan multiplicera med 10 så får vi utslumpade tal mellan 0.0000 - 9.9999 .
Om vi vill ha heltal så kapar vi bort decimalerna med Math.floor(). Gör vi det på ovanstående så får vi slumpalen 0 - 9, det vill säga 10 olika tal. Skulle vi vilja ha en förskjutning på skalan, det vill säga slumpa 10 olika tal men från 1 till 10, så får vi lägga på 1 på varje slumpat tal.

   
var mydiv = "";
var slumptal1 = Math.random(); 
var slumptal2 = Math.random()*10;
var slumptal3 = Math.floor(Math.random()*10);
var slumptal4 = Math.floor(Math.random()*10)+1;
mydiv = slumptal1+"<br />"+slumptal2+"<br />"+slumptal3+"<br />"+slumptal4+"<br />";

mydiv += "<br />Om vi använder samma slumptal och visar manipuleringarna till det vi vill ha.<br /><br />";

var slumptal1 = Math.random(); 
var slumptal2 = slumptal1*10;
var slumptal3 = Math.floor(slumptal1*10);
var slumptal4 = Math.floor(slumptal1*10)+1;
mydiv += slumptal1+"<br />"+slumptal2+"<br />"+slumptal3+"<br />"+slumptal4+"<br />";

document.getElementById('mydiv').innerHTML = mydiv; 
Slumptal

Källor

w3schools.com, random

Checka din kod

JSHint

Chrome Developer Tool
(F12 eller Ctrl+Shift+I)

Firefox Developer Tool
(F12 eller Ctrl+Shift+K)

En liten film om ovanstående (15 min)

Lösningsförslag

PB

Alrik's