在javascript中生成两个数字之间的随机数的不同方法

770 阅读2分钟

通过实例学习在javascript中生成两个数字之间的随机数的多种方法。

例如,有两个数字,min=1,max=10。1和10之间的随机数是1,2,3,4,5,6,7,8,9,10。

我们有多种方法可以生成随机数。

用JavaScript生成两个数字之间的随机数?

Math.random()函数生成0到1之间的随机浮点数,它返回的可能值是0,小于1和不包括1。

它返回浮点数,用Math.floor()将最低的数字取整。

function getRandomNumber(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
}
console.log(getRandomNumber(1, 10));

它生成一个1到10之间的随机数。

同样地,上述函数使用ES6的箭头函数进行了简化。

下面是一个生成随机数的ES6代码。

const getRandomNumber = (min, max) => Math.floor(Math.random() * (max - min + 1) + min);
console.log(getRandomNumber(1, 10));

用underscore和lodash库生成随机数

Underscore和lodash是javascript库,提供实用功能。

如果你在你的应用程序中使用这些库,请使用random(min, max) function

这里有一个语法

random(lower, upper, float-type)

lower 是下限值,可选的 是上限值 是真,返回浮动值upper float-type

一个随机数包含了下限和上限的值

返回一个介于下限值和上限值之间的数字

_.random(1, 100);// returns integer number between 1 and 100
_.random(1, 1000);// returns integer number between 1 and 1000
_.random(10,true);// returns floating number between 1 and 10

使用随机npm库生成随机数

在Nodejs中,随机是一个npm库,提供了生成随机数的高级实用函数。它返回布尔值、整数和浮动的随机值。它使用正态和泊松分布,使用给定的参数

这里是一个安装到node应用程序的命令。

这里是一个ES5的javascript代码,用于生成随机数

const random = require('random')
random.int(1, 10) // 8
random.float(1, 10) // 6.3

使用ES6的导入来创建随机对象。

import random from 'random'
random.int(1, 10) // 8
random.float(1, 10) // 6.3

总结

学习多种方法来返回随机数和给定下限和上限的浮点数。