I need to generate a set of unique (no duplicate) integers, and between 0 and a given number.
That is:
var limit = 10; var amount = 3;
How can I use Javascript to generate 3 unique numbers between 1 and 10?
Use the basic Math
methods:
Math.random()
returns a random number between 0 and 1 (including 0, excluding 1).Round this number downward to its nearest integer
Math.floor(Math.random()*10) + 1
Example:
//Example, including customisable intervals [lower_bound, upper_bound) var limit = 10, amount = 3, lower_bound = 1, upper_bound = 10, unique_random_numbers = []; if (amount > limit) limit = amount; //Infinite loop if you want more unique //Natural numbers than exist in a // given range while (unique_random_numbers.length < limit) { var random_number = Math.floor(Math.random()*(upper_bound - lower_bound) + lower_bound); if (unique_random_numbers.indexOf(random_number) == -1) { // Yay! new random number unique_random_numbers.push( random_number ); } } // unique_random_numbers is an array containing 3 unique numbers in the given range
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With