📌  相关文章
📜  如何在 JavaScript 中创建包含非重复元素的数组?

📅  最后修改于: 2022-05-13 01:56:41.434000             🧑  作者: Mango

如何在 JavaScript 中创建包含非重复元素的数组?

以下是生成包含n非重复随机数的数组的两种方法。

  1. 使用 do-while 循环和包含()函数。
  2. 使用集合并检查其大小。

使用 do-while 循环和 includes()函数:在这里,includes()函数检查数组中是否存在元素。

文件名:index.js

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)


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)


使用以下命令运行index.js文件:

node index.js

输出:

[ 49, 99, 27, 86, 69 ]

时间复杂度:

O(n2)

使用集合并检查其大小:记住集合不允许重复元素。

文件名:index.js

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)

使用以下命令运行index.js文件:

node index.js

输出:

[ 52, 32, 50, 59, 95 ]

时间复杂度:

O(n)