Full Version: Random number within a given range
Dream.In.Code > Programming Tutorials > HTML/JavaScript Tutorials
no2pencil
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.

CODE

<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

CODE

<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.
mocker
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

CODE

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;
};
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.