91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
富阳市| 滁州市| 丰城市| 吴堡县| 三亚市| 余江县| 松潘县| 广灵县| 上虞市| 德清县| 永清县| 乐安县| 眉山市| 凉城县| 田阳县| 武乡县| 商城县| 奉节县| 都安| 阳高县| 长兴县| 石城县| 南丰县| 连云港市| 竹山县| 新泰市| 承德县| 吕梁市| 宁远县| 新蔡县| 湟中县| 大化| 台前县| 平湖市| 义乌市| 昆山市| 普安县| 东乌珠穆沁旗| 永川市| 神木县| 阿巴嘎旗|