How to create an array containing non-repeating elements in JavaScript ?

In this article, we will learn how to create an array containing non-repeating elements in JavaScript.
The following are the two approaches to generate an array containing n number of non-repeating random numbers.
- Using do-while loop and includes() Method.
- Using a set and checking its size
Method 1: Using do-while loop and includes() Method
Here, the includes() function checks if an element is present in the array or not.
Example:
JavaScript
| // You can take this value from userconst n = 5// Initial empty arrayconst arr = [];// Null checkif(n == 0) {    console.log(null)}do{    // Generating random number    const randomNumber = Math        .floor(Math.random() * 100) + 1    // Pushing into the array only     // if the array does not contain it    if(!arr.includes(randomNumber)) {        arr.push(randomNumber);    }} while(arr.length < n);// Printing the array elementsconsole.log(arr) | 
Output
[ 29, 36, 38, 83, 50 ]
Time complexity:
O(n2)
Method 2: Using a set and checking its size
Remember that a set does not allow duplicate elements.
Example:
JavaScript
| // You can take this value from userconst n = 5// Initial empty arrayconst arr = [];// Null Checkif(n == 0) {    console.log(null)}let randomnumbers = newSet, ans;// We keep adding elements till// size of set is equal to n while(randomnumbers.size < n) {    // Generating random number     // and adding it    randomnumbers.add(Math.floor(        Math.random() * 100) + 1);}// Copying set elements into // the result arrayans = [...randomnumbers];// Printing the arrayconsole.log(ans) | 
Output
[ 41, 75, 57, 62, 92 ]
Time complexity:
O(n)
Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, zambiatek Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!
 
				 
					


