js随机在 0 - 100 之间选择30个不同的整数,组成数组,具体的代码
时间: 2024-10-13 10:19:14 浏览: 25
在JavaScript中,要生成一个包含30个互不相同的随机整数,从0到100之间的数组,可以使用 Fisher-Yates 洗牌算法结合 Set 数据结构来保证唯一性。以下是具体的代码:
```javascript
function getRandomInts(start, end, count) {
const arr = [];
while (arr.length < count) {
// 生成一个随机数,然后将其添加到 Set 中,如果重复则继续,直到生成新的数字
let randomNum;
do {
randomNum = Math.floor(Math.random() * (end + 1)) + start;
} while (arr.has(randomNum));
arr.push(randomNum);
}
return arr.slice(0, count); // 返回前count个元素
}
const uniqueRandomNumbers = getRandomInts(0, 100, 30);
console.log(uniqueRandomNumbers);
```
这段代码首先创建了一个空数组 `arr` 和一个 Set 来存储已生成的随机数。然后在一个循环中不断生成随机数,直到 Set 的大小达到 `count`。每次生成新数时,它都会检查这个数是否已经在 Set 中,若不在,则加入并跳出循环。最后返回前30个唯一的随机数。
阅读全文