js生成随机数组不重复的四个数
时间: 2023-06-12 16:07:37 浏览: 107
以下是生成随机数组不重复的四个数的 JavaScript 代码:
```javascript
// 生成一个包含1到10的数组
var arr = Array.from({length: 10}, (_, i) => i + 1);
// 随机打乱数组
arr.sort(() => Math.random() - 0.5);
// 取前四个数
var randomArr = arr.slice(0, 4);
console.log(randomArr); // 输出随机数组
```
这段代码首先生成一个包含1到10的数组,然后使用 `sort()` 方法随机打乱数组顺序,最后使用 `slice()` 方法取前四个数,从而生成随机数组不重复的四个数。
相关问题
js随机生成不重复的四位字符
可以使用 JavaScript 的 Math.random() 函数来生成随机数,再将其转换为对应的字符。可以使用一个 Set 来存储已经生成的字符,避免重复。下面是一个生成四位不重复字符的示例代码:
```
function generateRandomString() {
let str = "";
let set = new Set();
while (set.size < 4) {
let char = String.fromCharCode(Math.floor(Math.random() * 26) + 65);
if (!set.has(char)) {
set.add(char);
str += char;
}
}
return str;
}
```
上面的代码中, 使用了 fromCharCode() 方法将生成的随机数转换为字符, 并使用 Set 去重.
js生成0-600的四个随机且数值相差30以上的数值
你可以使用以下代码生成满足条件的四个随机数:
```javascript
function generateRandomNumbers() {
var numbers = [];
while (numbers.length < 4) {
var randomNumber = Math.floor(Math.random() * 601); // 生成0-600之间的随机数
if (numbers.every(num => Math.abs(num - randomNumber) > 30)) {
numbers.push(randomNumber);
}
}
return numbers;
}
// 使用示例
var randomNumbers = generateRandomNumbers();
console.log(randomNumbers);
```
这段代码中,`generateRandomNumbers` 函数使用一个循环来生成满足条件的四个随机数。在每次循环中,它生成一个0-600之间的随机数,并且使用 `numbers.every` 方法来检查该随机数与已有的数值之间的差值是否都大于30。如果满足条件,则将该随机数加入到结果数组中。当结果数组的长度达到4时,即生成了四个满足条件的随机数,函数返回结果数组。
注意,这段代码中生成的四个随机数可能会有重复。如果你需要确保四个随机数都不重复,可以使用 `Set` 数据结构来存储已生成的数值,或者在生成随机数时进行去重处理。
阅读全文