This script is a slightly modified version of "Unique Random Numbers". In this script it becomes easier to implement more than one instances of "Picking 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.
Code:<html> <head> <title>Unique Random Numbers II</title> <!--BEGIN HEAD SECTION CODE--> <script language="JavaScript"> // Unique Random Numbers II // -Picks a number of unique random numbers from an array // By Premshree Pillai // http://www.qiksearch.com, http://javascript.qik.cjb.net function pickNums(nums, numArr, pickArr, count, doFlag, iterations) { iterations+=1; var currNum = Math.round((numArr.length-1)*Math.random()); if(count!=0) { for(var i=0; i<pickArr.length; i++) { if(numArr[currNum]==pickArr[i]) { doFlag=true; break; } } } if(!doFlag) { pickArr[count]=numArr[currNum]; document.write('<b>' + numArr[currNum] + '</b> <font color="#808080">|</font> '); /* Modify above line for a different format output */ count+=1; } if(iterations<(numArr.length*3)) // Compare for max iterations you want { if((count<nums)) { pickNums(nums, numArr, pickArr, count, doFlag, iterations); } } else { location.reload(); } } </script> </head> <!--END HEAD SECTION CODE--> <body bgcolor="#FFFFFF"> <!--BEGIN BODY SECTION CODE--> <script language="JavaScript"> var numArr1 = new Array("0","1","2","3","4","5","6","7","8","9"); // Add elements here var pickArr1 = new Array(); // The array that will be formed var count1=0; var doFlag1=false; var iterations1=0; pickNums(5, numArr1, pickArr1, count1, doFlag1, iterations1); // Call the function, the argument is the number of elements you want to pick. // Here we pick 5 unique random numbers </script> <!--END BODY SECTION CODE--> </body> </html>
Very useful script reachpradeep, Im looking at the code to try to understand what is happening and why. Is it possible to alter the length of the array and its contents??
Nice code, but as your title suggests, what does this have to do with 'prime' numbers? ie) 3, 5, 7, 11, 13
True enough Sidewinder, when you run the code you never seem to get 5 prime numbers
ah, I get you now.
// I suppose life does become clearer once you read the added comments...!
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks