<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Unique Random Numbers</title> <style type="text/css"> .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} </style> <!--BEGIN HEAD SECTION CODE--> <script language="JavaScript"> // 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<nums; i++) { pickArr[pickArr.length]=tempArr[Math.round((tempArr.length-1)*Math.random())]; var temp=pickArr[pickArr.length-1]; for(var j=0; j<tempArr.length; j++) { if(tempArr[j]==temp) { tempArr[j]=null; var tempArr2=new Array(); for(var k=0; k<tempArr.length; k++) if(tempArr[k]!=null) tempArr2[tempArr2.length]=tempArr[k]; tempArr=tempArr2; break; } } } return pickArr; } </script> <!--END HEAD SECTION CODE--> </head> <body bgcolor="#FFFFFF"> <center><span class="head">Unique Random Numbers</span></center> <br> <table width="400" align="center"><tr><td>
<font face="verdana,arial,helvetica" size="-1" color="#000000"> This JavaScript picks up a number of unique random elements from an array. <br><br>For example; if you have an array <font face="courier">myArray</font> consisting of 10 elements and want to pick 5 unique random elements. Suppose initially <font face="courier">myArray[3]</font> is picked randomly, then <font face="courier">myArray[3]</font> should not be picked again. <br><br>If you want to pick 4 numbers, call the function like this : <br><font face="courier">pickNums(4,myArray)</font>. This function will return an array consisting of 4 unique random numbers. Thus you can store this array like this :<br><font face="courier">var anotherArray=pickNums(4,myArray)</font>.<br>You can now use this array for displaying the elements in different formats.
<br><br>Could be useful :-) <br><br>Here's an example :
<!--BEGIN BODY SECTION CODE--> <script language="JavaScript"> /* 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('<span style="background:#FFFFFF; border:#000000 solid 1px; padding:2px">'); for(var i=0; i<outArr.length; i++) { document.write('<b>' + outArr[i] + '</b> '); } document.write('</span>'); </script> <!--END BODY SECTION CODE-->
<br><br><a href="javascript:void(location.reload())" class="link">Reload</a> the page to see a set of another unique random numbers. <hr color="#808080"> © 2002 <a href="http://www.qiksearch.com" class="link">Premshree Pillai</a>. </font> </td></tr></table>
</body> </html>
|