Unique Random Sets : Random « Language Basics « JavaScript DHTML

JavaScript DHTML
1. Ajax Layer
2. Data Type
3. Date Time
4. Development
5. Document
6. Dojo toolkit
7. Event
8. Event onMethod
9. Ext JS
10. Form Control
11. GUI Components
12. HTML
13. Javascript Collections
14. Javascript Objects
15. Javascript Properties
16. jQuery
17. Language Basics
18. Mochkit
19. Mootools
20. Node Operation
21. Object Oriented
22. Page Components
23. Rico
24. Scriptaculous
25. Security
26. SmartClient
27. Style Layout
28. Table
29. Utilities
30. Window Browser
31. YUI Library
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
JavaScript DHTML » Language Basics » Random 
Unique Random Sets
  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Unique Random Sets</title>
<!--BEGIN HEAD SECTION CODE-->
<script language="JavaScript">
// Unique Random Sets Picker
// Based on : Unique Random Numbers
// -http://www.qiksearch.com/javascripts/random_numbers1.htm
// -Picks a number of unique random numbers from an array
// (c) 2002 Premshree Pillai
// http://www.qiksearch.com, http://javascript.qik.cjb.net
// E-mail : qiksearch@rediffmail.com

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]// We create the array for use later
  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>
<!--END HEAD SECTION CODE-->
</head>
<body bgcolor="#FFFFFF">
<center><span style="font-family:verdana,arial,helvetica; font-weight:bold; font-size:19pt; color:#3366CC; filter:DropShadow(color=#C0C0CC, offX=2, offY=2, positive=1); width:100%">Unique Random Sets</span></center>
<br>

<table width="400" align="center"><tr><td>
<font face="verdana,arial,helvetica" size="-1" color="#000000">
This JavaScript, based on <a href="http://www.qiksearch.com/javascripts/urn20.htm"><font color="#3366CC">Unique Random Numbers II</font></a>, picks Unique Random Sets.
<br><br>Here, there are more than one arrays (need not be of same length). First, we pick a number of unique random elements from the first array, <font face="courier">numArr1</font> to form the array <font face="courier">pickArr1</font>. Now each element of <font face="courier">pickArr1</font> picks another element from the second array <font face="courier">numArr2</font>, which again is unique and random. Thus we form the array <font face="courier">pickArr2</font>. Similarly each element of <font face="courier">pickArr2</font> picks unique random elements from <font face="courier">numArr3</font> to form <font face="courier">pickArr3</font>. 

<br>i.e if the first element of <font face="courier">pickArr1</font> picks the second element of <font face="courier">numArr2</font>, then no other element of <font face="courier">pickArr1</font> should pick the second element of <font face="courier">numArr2</font> again.
<br><br>In effect what we are doing is picking equal number of unique random numbers from a number of arrays(In this exaple, arraysto form a number of unique random sets, containing number of elements same as the number of arrays.
<br><br>Here's an example :
<br><br>
<table style="background:#FAFAFF; border:#F0F0FF solid 2px" cellspacing="5" cellpadding="5"><tr><td>
<!--BEGIN BODY SECTION CODE-->

<script language="JavaScript">
// (c) 2002 Premshree Pillai
// http://www.qiksearch.com, http://javascript.qik.cjb.net
// E-mail : qiksearch@rediffmail.com

//---------The First Array---------
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);

//---------The Second Array---------
var numArr2 = new Array("10","11","12","13","14","15","16","17","18","19")// Add elements here
var pickArr2 = new Array()// The array that will be formed
var count2=0;
var doFlag2=false;
var iterations2=0;
pickNums(5, numArr2, pickArr2, count2, doFlag2, iterations2);

//---------The Third Array---------
var numArr3 = new Array("20","21","22","23","24","25","26","27","28","29")// Add elements here
var pickArr3 = new Array()// The array that will be formed
var count3=0;
var doFlag3=false;
var iterations3=0;
pickNums(5, numArr3, pickArr3, count3, doFlag3, iterations3);

/* 
   To add more arrays, copy the array block, like the one above.
   Just modify the variable names. For example for a fourth array,
   copy the third array block, change the variable names numArr3
   to numArr4. Similarly, modify the name of all variables. 
   You will also have to modify the writeGen() function below to
   include more arrays.
*/

// This function writes the output
function writeGen(maxNums)
{
 for(var i=0; i<maxNums; i++)
 {
  document.write('<font face="verdana,arial,helvetica" size="-1" color="#3366CC"><b>' + pickArr1[i', ' + pickArr2[i', ' + pickArr3[i'</b></font><br>');
 }
}

/*
  Modify the above function to suit your
  output needs.
*/

new writeGen(5);
</script>
<!--END BODY SECTION CODE-->
</td></tr></table>
<br>Reload the page to see a set of another unique random sets. (The page may take time to load)
<br><br>

<hr color="#808080">
&#1692002 <a href="http://www.qiksearch.com" title="Click here to visit Qiksearch.com"><font color="#3366CC">Premshree Pillai</font></a>.
</font>
</td></tr></table>
</body>
</html>

           
         
    
  
Related examples in the same category
1. Unique Random Numbers
2. Math Random number: a random number between 0 and 1
3. Random number from 0 to 10: a random number from 0 to 10 using the random() and round()
4. Random link
5. A Random Ad Display Page
6. Random URL
7. Find the random number in a range
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.