Create an Array of Random Numbers, Without Reusing Numbers
Monday, December 10th, 2007I recently had the situation where I had to create an array of 25 random numbers from 0-24, but no number could be repeated in the array. So after a little bit of racking my brain I came up with this.
//create an array to hold the numbers
var numArray:Array = new Array(25);
// create an array to hold the used numbers
var usedNumArray:Array = new Array(25);
for (var i:int = 0; i <= 24; i++){
pickNum(i);
}
// run fuctions to get a random number and put in it the array
function pickNum(i:Number){
var num:Number;
do{
//set num to a random number between 0-24
num = getRandNum();
//set the numArray[i] to the random number
numArray[i] = num;
//make sure the number is a new number
}while(usedNumArray[num]);
//if its a new number set the usedNumArray[num] to true
usedNumArray[num]=true;
//trace it back to make sure it works
if(i == 24){
trace(numArray)
}
}
// get random number
function getRandNum():Number{
return Math.floor(Math.random()*25);
}
I don't know if its the best way to handle it but it works. If there is a better way please let me know.



This blog is dedicated to all things techie, in the realm of design/web/electronics.