首页 > 代码编程 > 前端开发 > js生成不重复的随机数(JavaScript生成独一无二的随机数,全球首创!)

js生成不重复的随机数(JavaScript生成独一无二的随机数,全球首创!)

2023-07-11 前端开发 25 ℃ 0 评论

什么是随机数?

随机数是指从一组数中按照一定的规律和方式挑选出来的数字,这些数字具有高度的不可预测性,而且在统计学意义上也具有均匀分布的特点。随机数在计算机科学领域中应用广泛,主要用于密码学、模拟实验等方面。

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()等方法来实现。如果要生成不重复的随机数,可以借助一个数组来存储已经使用的随机数,并且每次生成随机数之前判断是否已经使用过。

炮渣日记