生成不重复的随机数可以使用以下方法:
下面是使用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算法随机交换数组中的元素,最后返回指定个数的随机数。