什么是随机数?
随机数是指从一组数中按照一定的规律和方式挑选出来的数字,这些数字具有高度的不可预测性,而且在统计学意义上也具有均匀分布的特点。随机数在计算机科学领域中应用广泛,主要用于密码学、模拟实验等方面。
JS如何生成随机数?
在Javascript中,可以通过下面几种方式来生成随机数:
Math.random()
new Date().getTime()
其中Math.random()方法产生的随机数是一个[0,1)之间的小数,可以将其乘以一个数再取整来获取指定范围的随机整数。例如,要生成0到99之间的随机整数:
var randomNum = Math.floor(Math.random() * 100);
而new Date().getTime()方法产生的是一个13位时间戳,可以将其转换为字符串再通过正则表达式截取一段来获取一个唯一的随机数。
如何生成不重复的随机数?
要生成不重复的随机数,可以在生成随机数的同时,将已经生成的随机数存储在一个数组中,每次生成随机数之前判断该数是否已经在数组中出现过。
示例代码如下:
var usedNums = []; // 存储已经使用的随机数
var maxNum = 100; // 最大随机数
var numOfNumsToGenerate = 20; // 要生成的随机数个数
function generateRandomNum() {
var randomNum = Math.floor(Math.random() * maxNum);
if (usedNums.indexOf(randomNum) === -1) { // 随机数未曾使用过
usedNums.push(randomNum);
return randomNum;
} else { // 随机数已经使用过
return generateRandomNum();
}
}
for (var i = 0; i < numOfNumsToGenerate; i++) {
console.log(generateRandomNum());
}
上述代码可以保证在生成20个随机数时,每个随机数都是唯一的。
总结
生成随机数是Javascript中非常常见的操作,可以通过Math.random()等方法来实现。如果要生成不重复的随机数,可以借助一个数组来存储已经使用的随机数,并且每次生成随机数之前判断是否已经使用过。
为你推荐
- 2023-08-10js求百分比(使用JavaScript实现百分比计算的方法)
- 2023-06-30js yaml(JavaScript 序列化和反序列化 YAML 数据)
- 2023-09-13js编译器(JavaScript 编译器:优化代码的利器)
- 2023-09-15highlight js(JavaScript代码高亮库 – highlight js)
- 2023-07-21js 随机字符(生成随机字符串的JavaScript函数)
- 2023-08-14js读取cookie(JavaScript取cookie值教程)
- 2023-06-24dispatch js(JavaScript 函数派遣技巧:优雅实现模块化控制流程)
- 2023-09-26filereader js(JavaScript FileReader API实现文件读取操作)