亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

js隨機數生成且不重復的方法是什么

js
小億
241
2023-12-16 10:59:31
欄目: 編程語言

生成不重復的隨機數可以使用以下方法:

  1. 使用Math.random()函數生成隨機數,然后乘以一個足夠大的數,再取整,得到一個整數。
  2. 將生成的隨機數存儲在一個數組中,每次生成一個新的隨機數時,可以遍歷數組檢查是否已存在該隨機數,如果存在則重新生成。
  3. 可以使用Fisher-Yates算法,將數字從1到N按順序放入一個數組中,然后隨機交換數組中的元素,直到達到所需的隨機數個數。
  4. 在生成隨機數之前,創建一個包含所有可能隨機數的數組,然后使用splice()函數從數組中隨機移除一個元素,即得到一個不重復的隨機數。

下面是使用Fisher-Yates算法生成不重復隨機數的示例代碼:

function generateRandomNumbers(n) {
  var numbers = [];
  for (var i = 1; i <= n; i++) {
    numbers.push(i);
  }
  
  for (var i = n - 1; i >= 0; i--) {
    var j = Math.floor(Math.random() * (i + 1));
    var temp = numbers[i];
    numbers[i] = numbers[j];
    numbers[j] = temp;
  }
  
  return numbers.slice(0, n);
}

var randomNumbers = generateRandomNumbers(10); // 生成10個不重復的隨機數
console.log(randomNumbers);

該代碼生成一個包含1到N的整數的數組,然后使用Fisher-Yates算法隨機交換數組中的元素,最后返回指定個數的隨機數。

0
灵武市| 稻城县| 广安市| 宁波市| 白朗县| 丹棱县| 赞皇县| 屏东县| 双鸭山市| 集贤县| 涿鹿县| 高淳县| 花莲县| 赤峰市| 德州市| 遂溪县| 东港市| 华池县| 古蔺县| 威海市| 沭阳县| 崇信县| 从化市| 临安市| 奎屯市| 东阳市| 洛宁县| 许昌县| 乌苏市| 藁城市| 方城县| 南丹县| 洛隆县| 米易县| 诸暨市| 乌恰县| 和田市| 乐安县| 浪卡子县| 白水县| 沈阳市|