天宇文化 编程百科 js随机数(生成不重复的随机数)

js随机数(生成不重复的随机数)

如何生成不重复的随机数 在编写 JavaScript 代码时,经常需要生成随机数。但是,如果需要生成一组不重复…

js随机数(生成不重复的随机数)

如何生成不重复的随机数

在编写 JavaScript 代码时,经常需要生成随机数。但是,如果需要生成一组不重复的随机数,该怎么办呢?本文将介绍如何使用 JavaScript 生成一组不重复的随机数。

步骤一:生成随机数

JavaScript 提供了 Math.random() 方法来生成随机数。该方法返回一个介于 0 到 1 之间的随机数。例如,下面的代码生成一个随机数:

“`

let num = Math.random();

“`

但是,该方法生成的随机数可能会重复,因此需要进行去重操作。

步骤二:去重

为了生成一组不重复的随机数,需要使用一个数组来存储已经生成的随机数。每次生成随机数时,都需要判断该数是否已经存在于数组中。如果不存在,则将该数加入数组。否则,重新生成随机数。

下面是一个示例代码:

“`

let arr = [];

while (arr.length < 10) {

let num = Math.floor(Math.random() * 100) + 1;

if (arr.indexOf(num) === -1) {

arr.push(num);

}

}

console.log(arr);

“`

该代码生成了一个长度为 10 的数组,其中的元素是介于 1 到 100 之间的不重复随机数。

步骤三:优化

上面的代码可以生成不重复的随机数,但是在数组长度较大时,生成随机数的效率会比较低。为了提高效率,可以使用一个对象来存储已经生成的随机数。对象的键是随机数,值为 true 或 false,表示该数是否已经生成过。

下面是优化后的代码:

“`

let obj = {};

let arr = [];

while (arr.length < 10) {

let num = Math.floor(Math.random() * 100) + 1;

if (!obj[num]) {

obj[num] = true;

arr.push(num);

}

}

console.log(arr);

“`

该代码与之前的代码功能相同,但是效率更高。

结论

本文介绍了如何使用 JavaScript 生成一组不重复的随机数。生成不重复的随机数需要进行去重操作,可以使用数组或对象来存储已经生成的随机数。在实际开发中,可以根据具体需求选择合适的方法。

本文来自网络,不代表天宇文化立场,转载请注明出处:https://www.wheelsfactory.cn/3111.html

作者: admin2

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部