在js中如何生成不重复的随机数

avatar
作者
猴君
阅读量:0

在JavaScript中,要生成一个不重复的随机数,你可以使用以下方法:

  1. 创建一个包含所有可能值的数组。
  2. 对数组进行洗牌,以随机顺序重新排列元素。
  3. 从打乱顺序的数组中选择一个元素作为随机数。

以下是一个示例代码:

function getRandomInt(min, max) {   min = Math.ceil(min);   max = Math.floor(max);   return Math.floor(Math.random() * (max - min + 1)) + min; }  function generateUniqueRandomNumbers(count, min, max) {   if (count > (max - min + 1)) {     throw new Error("The specified count is larger than the range of unique numbers.");   }    const uniqueRandomNumbers = new Set();    while (uniqueRandomNumbers.size < count) {     const randomNumber = getRandomInt(min, max);     uniqueRandomNumbers.add(randomNumber);   }    return Array.from(uniqueRandomNumbers); }  // 使用示例:生成1到10之间(包括1和10)的3个不重复随机数 const uniqueRandomNumbers = generateUniqueRandomNumbers(3, 1, 10); console.log(uniqueRandomNumbers); 

在这个示例中,getRandomInt函数用于生成一个指定范围内的随机整数。generateUniqueRandomNumbers函数接受一个count参数,表示要生成的不重复随机数的数量,以及minmax参数,表示随机数的范围。该函数使用Set数据结构来存储不重复的随机数,直到达到指定的数量为止。最后,将Set转换为数组并返回。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!