JS随机生成不重复的数字
时间: 2024-05-05 08:18:08 浏览: 16
你可以使用以下代码来生成不重复的数字:
```javascript
var arr = [];
while(arr.length < 10){
var randomNum = Math.floor(Math.random()*100);
if(arr.indexOf(randomNum) === -1) arr.push(randomNum);
}
```
这段代码会生成一个包含10个不重复随机数字的数组。你可以根据需求修改数组长度和随机数范围。
相关问题
js 中随机生成不重复的数字ID
可以使用以下代码生成不重复的数字ID:
```javascript
function generateUniqueID() {
const usedIDs = new Set();
let id = Math.floor(Math.random() * 1000000);
while (usedIDs.has(id)) {
id = Math.floor(Math.random() * 1000000);
}
usedIDs.add(id);
return id;
}
```
这个函数会生成一个随机的数字ID,并且使用了一个 Set 来确保不重复。如果生成的 ID 已经在 Set 中存在了,就会继续生成新的 ID,直到找到一个未被使用的 ID。
js 随机不重复的数字
生成随机不重复数字的方法可以有多种,以下是其中一种方法:
1. 先生成一个包含所有可能数字的数组,例如 1 到 100:
```javascript
let allNums = Array.from({length: 100}, (_, i) => i + 1);
```
2. 随机把这个数组中的元素与最后一个元素交换位置,然后把数组长度减一,直到数组为空:
```javascript
while (allNums.length > 0) {
let randIndex = Math.floor(Math.random() * allNums.length);
let temp = allNums[randIndex];
allNums[randIndex] = allNums[allNums.length - 1];
allNums[allNums.length - 1] = temp;
let randNum = allNums.pop();
console.log(randNum);
}
```
这个方法会保证每次生成的随机数都不重复,并且不需要使用额外的空间来存储已经生成的数字。