JS生成一个种子随机数(伪随机数)
原文链接:https://geniuspeng.github.io/2016/09/12/js-random/
最近有一个需求,需要生成一个随机数,但是又不能完全随机,就是说需要一个种子seed,seed不变的时候,这个随机数就不变,根据不同的seed会生成不同的随机数= =反正就是一个伪随机数。自己想了好久也没有太好的办法,于是上网查了一下,还真有这么个东西~~
嗯就长这样,知乎链接在这里:https://www.zhihu.com/question/22818104
1 2 3 4 5 6 7 8 9 10 11 12 | function rnd( seed ){ seed = ( seed * 9301 + 49297 ) % 233280; //为何使用这三个数? return seed / ( 233280.0 ); }; function rand(number){ today = new Date(); seed = today.getTime(); return Math.ceil( rnd( seed ) * number ); }; myNum=(rand(5)); |
他这个注释也写了,为啥是这三个数