生成不重復的隨機數可以使用以下方法:
下面是使用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算法隨機交換數組中的元素,最后返回指定個數的隨機數。