在日常工作中,我们经常会需要生成一些随机数,相信大家最熟悉的就是 Math.random() 这个api,本文将介绍生成指定范围随机数的方法。


首先我们复习一下这几个api,后面会用到:

1、Math.random()

返回一个0~1之间的浮点数,包含0,不包含1,您可以缩放到所需的范围,实现将初始种子选择到随机数生成算法,它不能被用户选择或重置。

2、Math.floor()

返回一个小于或等于给定数字的最大整数

3、Math.ceil()

返回一个大于或等于给定数字的最小整数

4、Math.round()

返回一个数字四舍五入之后的整数形式

相关api还有很多,适合不同使用场景,具体可参阅 MDN

这里以生成m到n之间的随机数为例。

一、生成m到n之间的数字,不包含m和n

const genBetween = (m, n) => Math.round(Math.random() * (n - m - 2)) + m + 1;

二、生成m到n之间的数字,包含m和n

const genBetweenAll = (m, n) => Math.floor(Math.random() * (n - m + 1)) + m;

三、生成m到n之间的数字,包含m,不包含n

const genBetweenLeft = (m, n) => Math.floor(Math.random() * (n - m)) + m;

四、生成m到n之间的数字,不包含m,包含n

const genBetweenRight = (m, n) => Math.floor(Math.random() * (n - m) + 1) + m;

附上一些好用的工具:

在线随机数字/字符串生成高强度密码生成器utools

参考文章

JS生成某个范围的随机数【四种情况详解】

rand生成随机数的范围_JS中生成指定范围随机数相关推荐

  1. R语言使用edit函数在Rsudio中生成数据编辑器(在windows中生成编辑器)、在编辑器中输出需要的数据生成最终的dataframe

    R语言使用edit函数在Rsudio中生成数据编辑器(在windows中生成编辑器).在编辑器中输出需要的数据生成最终的dataframe 目录

  2. JavaScript 随机数 – 如何在 JS 中生成随机数

    在使用 JavaScript 程序时,有时您可能需要生成一个随机数. 例如,您可能希望在开发 JavaScript 游戏(例如猜数字游戏)时生成一个随机数. JavaScript 有许多用于处理数字和 ...

  3. python基本随机数生成函数有_Python中生成随机数的常用方法

    注意:random模块中的方法是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用方法. random.random() random()方法返回随机生成的一个实数(浮 ...

  4. css随机数,在LESS CSS中生成随机数?

    通过LESS Mixin for Variation 通过使用LESS mixin生成随机数,您可以根据需要在每个位置调用它,更容易控制输出.此代码部分是在this SO answer的帮助下构建的, ...

  5. golang 字符串随机数_在Go中生成随机数和字符串

    golang 字符串随机数 While completely random is not really possible, we still can have pseudorandom numbers ...

  6. 怎么生成html链接,在HTML中生成链接

    需要Javascript为所谓的动态HTML或DHTML.可以这样做: function generateLink() { var brand = document.getElementById('c ...

  7. python生成等值线_在python中生成X,Y数据的等值线图

    嗨,我不确定这是否已经被问过了,但我找不到一个满足我的答案.在 如果你有X,Y和温度数据,请看下面的例子.如何在python中绘制数据的温度等值线X Y Temp 0 0 23 0.1 0 23 0. ...

  8. java怎么生成字母_在Java中生成字母序列

    我的版本实现了Iterator并且保持一个int计数器.计数器值转换为相应的字符串: import com.google.common.collect.AbstractIterator; class ...

  9. go中生成可执行文件

    go中生成可执行文件 文章目录 go中生成可执行文件 一.简介 二.使用 三.示例 3.1 带参数编译 3.1.1 目标go文件 3.2 多文件编译 3.3 go项目编译 四.其它 4.1 go in ...

最新文章

  1. 批处理获取目录下所有文件名
  2. 不用“背”单词,一个方法从普通二本到哥伦比亚大学:我是如何做到的?
  3. X86服务器虚拟化的资源划分和性能优化
  4. Android 微信支付详解与Demo
  5. java 单例 缓存hashmap_java 、HashMap 和单例
  6. 百度贴吧——因百度账号策略调整导致长时间未登录的账号(最后登录在2017年6月1日以前)网页端无法登陆、移动端异常解决方案
  7. sklearn与pandas的缺失值处理
  8. sql server 锁定_如何使用SQL Server 2014托管锁定优先级控制在线索引重建锁定
  9. 【IOS】ios8推送消息注册
  10. vue.js详细教程--优优优
  11. Pandas DataFrame merge join concat append combin_first 使用demo
  12. 基于ZigBee的高压开关SF6气体泄漏监测系统
  13. 好用靠谱的人事管理软件推荐?
  14. 闲的无聊写了个很(wu)有(liao)意(dao)思(bao)的程序
  15. 正则表达式如何匹配括号
  16. constructor构造函数(React)
  17. 计算机考试不在学籍库,有消息!中考报名将由学籍库直接导入,取消学校考试排名........
  18. smc数显压力表设定方法_psi与kpa换算(smc数显压力表设定方法)
  19. Web services详解 :入门必看 | WSDL、SOAP
  20. UVA 10118 dfs

热门文章

  1. 蓝桥杯【介绍】和【如何准备才可以拿奖】
  2. 力扣: 268. 丢失的数字
  3. 查看Linux的磁盘使用情况
  4. Solr集群系统架构
  5. Ubuntu系统的安装
  6. dubbo provider异步_Dubbo支持什么协议?与SpringCould相比它为什么效率要高一些?
  7. Java子类继承(二):隐藏成员变量和方法重写的理解
  8. 判断文件是否损坏_称重传感器好坏的判断方法,看完秒懂!
  9. Python3算法基础练习:编程100例(11 ~ 15)
  10. 设计模式之动态代理的代码实现(Java)