Page 1 of 1

Random number within a given range Rate Topic: -----

#1 no2pencil  Icon User is online

  • Head MFIC
  • member icon

Reputation: 5066
  • View blog
  • Posts: 26,449
  • Joined: 10-May 07

Post icon  Posted 06 May 2008 - 07:04 PM

Random number within a given range

Here are the steps in order to generate random numbers from a given range.
1st, we get a return value from the random() function. This value will be between 0.0 & 1.0.
We then multiply this value with the difference of the maximum value, & one less than the minumum value in our given range.
After that, we use the floor() function, to convert it into an integer.
Lastly, add the minimum value of our given range, to the number we came up with from above.

<html>
<head>
<title>Javascript Random Numbers</title>
</head>
<body>
<script language=Javascript>
<!--
var rand_no = Math.floor((10-4)*Math.random()) + 5;
alert(rand_no);
-->
</script>
</body></html>



The code above generates a random number between 5 and 10. With 5 being our minimum, & 10 being our maximum.

Random number within an array

<html>
<head>
<title>Javascript Random Numbers</title>
</head>
<body>
<script language="Javascript">
<!--
movie = new Array
movie[1]="Casablanca"
movie[2]="The Wizard of Oz"
movie[3]="The Dirty Dozen"
movie[4]="Who Framed Roger Rabbit?"
movie[5]="The Five Heartbeats"
movie[6]="Battleground"
movie[7]="The Life and Times of Hank Greenberg"
movie[8]="The Battle for Heavy Water"
movie[9]="My Blue Heaven"

var rand_no = Math.floor((9-1)*Math.random()) + 1;

document.write(movie[rand_no]);
-->
</script>
</body></html>



The code example above generates a random number between 1 and 9. Again, with 1 being our minimum, & 9 being our maximum.

Is This A Good Question/Topic? 0
  • +

Replies To: Random number within a given range

#2 mocker  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 50
  • View blog
  • Posts: 466
  • Joined: 14-October 07

Posted 07 May 2008 - 09:35 AM

Just to add to your last example.. if you want to get a random element of the array, it usually is not a good idea to hardcode how many elements are in that array. I use the following code to get a random element of an array links[] and write it to a div

function newLink(){
var lmax = links.length;			 
var random_num = (Math.floor((Math.random()*lmax)+1));
var d = document.getElementById('rlink');		 
var newhtml = "<a href='"+links[random_num]+"'>"+links[random_num]+"</a>";
d.innerHTML = newhtml;
};


Was This Post Helpful? 0
  • +
  • -

Page 1 of 1