Thursday, September 4, 2025
HomeLanguagesJavascriptHow to create an array containing non-repeating elements in JavaScript ?

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.

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 user
const n = 5
 
// Initial empty array
const arr = [];
 
// Null check
if (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 elements
console.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 user
const n = 5
 
// Initial empty array
const arr = [];
 
// Null Check
if (n == 0) {
    console.log(null)
}
 
let randomnumbers = new Set, 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 array
ans = [...randomnumbers];
 
// Printing the array
console.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, neveropen 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!
RELATED ARTICLES

Most Popular

Dominic
32264 POSTS0 COMMENTS
Milvus
81 POSTS0 COMMENTS
Nango Kala
6629 POSTS0 COMMENTS
Nicole Veronica
11799 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11859 POSTS0 COMMENTS
Shaida Kate Naidoo
6749 POSTS0 COMMENTS
Ted Musemwa
7025 POSTS0 COMMENTS
Thapelo Manthata
6698 POSTS0 COMMENTS
Umr Jansen
6717 POSTS0 COMMENTS