js 随机不重复的数字
时间: 2023-09-05 14:11:08 浏览: 89
生成随机不重复数字的方法可以有多种,以下是其中一种方法:
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);
}
```
这个方法会保证每次生成的随机数都不重复,并且不需要使用额外的空间来存储已经生成的数字。
相关问题
JS随机生成不重复的数字
你可以使用以下代码来生成不重复的数字:
```javascript
var arr = [];
while(arr.length < 10){
var randomNum = Math.floor(Math.random()*100);
if(arr.indexOf(randomNum) === -1) arr.push(randomNum);
}
```
这段代码会生成一个包含10个不重复随机数字的数组。你可以根据需求修改数组长度和随机数范围。
Js生成随机不重复的指
您可以使用以下代码生成指定长度的随机不重复字符串:
```javascript
function generateRandomString(length) {
let result = '';
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
const charactersLength = characters.length;
for (let i = 0; i < length; i++) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
}
```
该函数将返回一个由大小写字母和数字组成的随机字符串,长度为 `length`。如果需要更长的字符串,只需增加 `length` 的值即可。
阅读全文