返回

Javascript生成随机数的多种方法

前端

前言

随机数在编程中有着广泛的应用,例如生成随机数密码、模拟随机事件、创建随机数据、进行概率计算等。JavaScript提供了一些内置的方法来生成随机数,这些方法可以满足不同场景的需求。

生成[0,1)范围内的随机数

使用Math.random()方法可以返回一个介于0~1之间的伪随机数(包括0,不包括1)。例如:

console.log(Math.random()); // 输出一个介于0~1之间的随机数

生成[n,m)范围内的随机数(大于等于n,小于m)

使用Math.random()公式可以生成一个大于等于n且小于m的随机数。公式如下:

Math.floor(Math.random() * (m - n)) + n

例如:

console.log(Math.floor(Math.random() * (10 - 1)) + 1); // 输出一个大于等于1且小于10的随机整数

生成[n,m]范围内的随机数(包括n和m)

使用Math.floor()方法可以将一个浮点数向下取整,从而生成一个大于等于n且小于等于m的随机整数。公式如下:

Math.floor(Math.random() * (m - n + 1)) + n

例如:

console.log(Math.floor(Math.random() * (10 - 1 + 1)) + 1); // 输出一个大于等于1且小于等于10的随机整数

生成[n,m]范围内的随机整数(包括n和m,步长为step)

使用Math.round()方法可以将一个浮点数四舍五入为最接近的整数。公式如下:

Math.round((Math.random() * (m - n + step)) / step) * step + n

例如:

console.log(Math.round((Math.random() * (10 - 1 + 2)) / 2) * 2 + 1); // 输出一个大于等于1且小于等于10的随机偶数

使用Date.now()生成随机数

Date.now()方法可以返回当前时间的毫秒数。这个值可以用来生成一个随机数,方法是将它与一个随机数相乘。例如:

console.log(Math.random() * Date.now()); // 输出一个基于当前时间的随机数

结语

这些方法可以满足不同场景的需求。了解这些方法并熟练掌握它们的使用,可以帮助您在编程中更好地生成随机数,从而实现各种编程需求。