Language Basics JavaScript DHTML




Unique Random Numbers

.head{font-family:verdana,arial,helvetica; font-weight:bold; font-size:20pt; color:#FF9900; filter:DropShadow(color=#000000, offX=2, offY=2, positive=1); width:100%}
.link{font-family:verdana,arial,helvetica; font-size:10pt; color:#000000}
.link:hover{font-family:verdana,arial,helvetica; font-size:10pt; color:#FF9900}



// Unique Random Numbers
// -Picks a number of unique random numbers from an array
// (c) 2002 Premshree Pillai
// http://www.qiksearch.com
// http://premshree.resource-locator.com
// E-mail : qiksearch@rediffmail.com
function pickNums(nums, numArr)
{
  if(nums>numArr.length)
  {
    alert('You are trying to pick more elements from the array than it has!');
    return false;
  }
  var pickArr=new Array();
  var tempArr=numArr;
  for(var i=0; i  {
    pickArr[pickArr.length]=tempArr[Math.round((tempArr.length-1)*Math.random())];
    var temp=pickArr[pickArr.length-1];
    for(var j=0; j    {
      if(tempArr[j]==temp)
      {
        tempArr[j]=null;
        var tempArr2=new Array();
        for(var k=0; k          if(tempArr[k]!=null)
            tempArr2[tempArr2.length]=tempArr[k];
        tempArr=tempArr2;
        break;
      }
    }
  }
  return pickArr;
}    




Unique Random Numbers





This JavaScript picks up a number of unique random elements from an array.


For example; if you have an array myArray consisting of 10 elements and want to pick 5 unique random elements. Suppose initially myArray[3] is picked randomly, then myArray[3] should not be picked again.


If you want to pick 4 numbers, call the function like this : 
pickNums(4,myArray). This function will return an array consisting of 4 unique random numbers. Thus you can store this array like this :
var anotherArray=pickNums(4,myArray).
You can now use this array for displaying the elements in different formats.


Could be useful :-)


Here's an example :


/* Add elements to this array */
var myArr = new Array("1","2","3","4","5","6","7","8","9");
var outArr=pickNums(5, myArr); /* Store the output */
/* Print Output */
/* Modify this part to suit your output needs */
document.write('');
for(var i=0; i{
  document.write('' + outArr[i] + ' ');
}
document.write('');




Reload the page to see a set of another unique random numbers.

© 2002 Premshree Pillai.