Tuesday, November 19, 2024
Google search engine
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

Recent Comments