当前位置: 首页 > 面试题库 >

可播JavaScript随机数生成器

萧和平
2023-03-14
问题内容

JavaScriptMath.random()函数返回一个介于0到1之间的随机值,该值会根据当前时间自动播种(我相信类似于Java)。但是,我认为没有任何办法可以为其设置种子。

如何制作一个可以提供自己的种子值的随机数生成器,以使它生成可重复的(伪)随机数序列?


问题答案:

一种选择是http://davidbau.com/seedrandom,它是可播种的基于RC4的Math.random()插入式替换,具有不错的属性。



 类似资料:
  • random 生成随机数包 文档:https://www.npmjs.com/package/random 安装:npm install --save random 封装代码: app / extend / context.js // 导入 jwt const jwt = require('jsonwebtoken') // 导入随机数包 const random = require('rando

  • 问题 你需要生成在一定范围内的随机数。 解决方案 使用 JavaScript 的 Math.random() 来获得浮点数,满足 0<=X<1.0 。使用乘法和 Math.floor 得到在一定范围内的数字。 probability = Math.random() 0.0 <= probability < 1.0 # => true # 注意百分位数不会达到 100。从 0 到 100 的范围实

  • 问题内容: 我试图在Go中生成一个随机字符串,这是我到目前为止编写的代码: 我的执行速度很慢。使用进行播种会在一定时间内带来相同的随机数,因此循环会一次又一次地迭代。如何改善我的代码? 问题答案: 每次设置相同的种子,您将获得相同的序列。因此,当然,如果您将种子设置为快速循环中的时间,则可能会多次调用相同的种子。 在您的情况下,在您调用函数直到拥有不同的值之前,您正在等待时间(由Nano返回)。

  • 问题 你需要生成在一定范围内的随机数,但你也需要对发生器进行“生成种子”操作来提供可预测的值。 解决方案 编写你自己的随机数生成器。当然有很多方法可以做到这一点,这里给出一个简单的示例。 该发生器绝对不可以以加密为目的! class Rand # 如果没有种子创建,使用当前时间作为种子 constructor: (@seed) -> # Knuth and Lewis' impro

  • 问题内容: 鉴于此功能,我想更换 颜色 与颜色随机发生器。 我该怎么做? 问题答案: 使用代替: