js 返回数组中随机数
时间: 2023-10-11 22:07:20 浏览: 39
你可以使用 JavaScript 的 `Math.random()` 方法生成一个随机数,然后将其乘以数组的长度,使用 `Math.floor()` 方法将结果向下取整,最后返回对应的数组元素。以下是一个示例代码:
```javascript
function getRandomElement(arr) {
var randomIndex = Math.floor(Math.random() * arr.length);
return arr[randomIndex];
}
var myArray = [1, 2, 3, 4, 5];
var randomElement = getRandomElement(myArray);
console.log(randomElement);
```
这段代码将在 `myArray` 数组中返回一个随机元素。你可以根据需要将其修改为适应你的代码。
相关问题
js中随机打乱二维数组
你可以使用 Fisher-Yates 洗牌算法来随机打乱一个二维数组。具体实现代码如下:
```javascript
function shuffleArray(array) {
for (let i = array.length - 1; i > 0; i--) {
for (let j = array[i].length - 1; j > 0; j--) {
const k = Math.floor(Math.random() * (j + 1));
const temp = array[i][j];
array[i][j] = array[i][k];
array[i][k] = temp;
}
}
return array;
}
```
这个函数会遍历二维数组中的每一个元素,然后使用随机数来交换元素的位置。最后返回打乱后的数组。
js生成不重复的随机数
生成不重复的随机数可以使用数组来实现。首先,定义一个数组来存储已经生成的随机数。然后,生成随机数时,每次检查随机数是否已经在数组中出现过,如果是则重新生成,直到生成一个不在数组中的随机数为止。以下是一个简单的 JavaScript 实现:
```javascript
function generateRandomNumber(min, max, count) {
var arr = [];
while (arr.length < count) {
var num = Math.floor(Math.random() * (max - min + 1) + min);
if (arr.indexOf(num) === -1) {
arr.push(num);
}
}
return arr;
}
var result = generateRandomNumber(1, 10, 5);
console.log(result); // [6, 1, 5, 3, 7]
```
上述实现中的 `generateRandomNumber` 函数接受三个参数:最小值 `min`、最大值 `max` 和生成的随机数个数 `count`。函数使用 `while` 循环生成随机数,并将其存储在数组中,直到数组长度达到指定的个数。随机数的生成使用了 `Math.random` 函数和取整函数 `Math.floor`。检查随机数是否已经存在数组中使用了 `indexOf` 方法。最后返回生成的不重复的随机数数组。