Javascript是否有随机数生成器?
在你说Math.random()之前,我的要求是它应该允许一个种子值.对于相同的种子值,它应该生成完全相同的"随机"数字序列,并且数字序列应该是相当随机的.
Aln*_*tak 15
对不起,这个必须要做:
function makeRandom(seed) {
var next = 4; // chosen by fair dice roll.
// guaranteed to be random
return function() {
return seed + next++;
};
}
Run Code Online (Sandbox Code Playgroud)
用法:
var random = makeRandom(492347239);
var r1 = random();
var t2 = random();
...
Run Code Online (Sandbox Code Playgroud)
注意:要使其实际有用,请使用通用PRNG(如ARC4)替换返回的函数.上面代码的真正目的是展示如何在闭包中封装状态(即当前种子)并重复从该对象获取连续值.
| 归档时间: |
|
| 查看次数: |
7729 次 |
| 最近记录: |