Generera ett slumpmässigt tal mellan två tal i JavaScript

Finns det ett sätt att generera ett slumpmässigt tal i ett visst intervall (t.ex. från 1 till 6: 1, 2, 3, 4, 5 eller 6) i JavaScript?

function randomIntFromInterval(min, max) { // min and max included 
  return Math.floor(Math.random() * (max - min + 1) + min);
}

Vad den gör "extra" är att den tillåter slumpmässiga intervaller som inte börjar med 1. Du kan alltså få ett slumpmässigt tal från 10 till 15 till exempel. Flexibilitet.

Kommentarer (17)
Lösning

Viktigt

Följande kod fungerar endast om minimivärdet är "1". Den fungerar inte för andra minimivärden än `1`.

Om du vill få fram ett slumpmässigt heltal mellan 1 (och endast 1) och 6, skulle du beräkna:

Math.floor(Math.random() * 6) + 1  

Där:

  • 1 är startnumret
  • 6 är antalet möjliga resultat (1 + start (6) - slut (1)).
Kommentarer (29)
var x = 6; // can be any number
var rand = Math.floor(Math.random()*x) + 1;
Kommentarer (5)