JS 生成随机数的算法解决办法

内容摘要
这篇文章主要为大家详细介绍了JS 生成随机数的算法简单示例,具有一定的参考价值,可以用来参考一下。

JS实现随机数生成算法的方法有很多,为大家介绍一个比较不错的方法。对此
文章正文

这篇文章主要为大家详细介绍了JS 生成随机数的算法简单示例,具有一定的参考价值,可以用来参考一下。

JS实现随机数生成算法的方法有很多,为大家介绍一个比较不错的方法。对此感兴趣的朋友,看看idc笔记做的技术笔记。经测试代码如下:

/**
 * 生成随机数
 *
 * @param 
 * @arrange (www.idcnote.com)
 **/
var MT = [];

var index = 0;
function initialize_generator(seed) {
MT[0] = seed;
for (var i = 1; i < 624; i++) {
MT[i] = 0xffffffff & (0x6c078965 * (MT[i - 1] ^ (MT[i - 1] >> 30)) + i);
}
}
function generate_numbers() {
for (var i = 0; i < 624; i++) {
var y = (MT[i] & 0x80000000) + (MT[(i + 1) % 624] & 0x7fffffff);
MT[i] = MT[(i + 397) % 624] ^ (y >> 1);
if (y % 2 != 0) {
MT[i] ^= 0x9908b0df;
}
}
}
function extract_number() {
if (index == 0) {
generate_numbers();
}
var y = MT[index];
y ^= (y >> 11);
y ^= ((y << 7) & 0x9d2c5680);
y ^= ((y << 15) & 0xefc60000);
y ^= (y >> 18);
index = (index + 1) % 624;
return y;
}
function mt_rand(min, max) {
return extract_number() % (max - min + 1) + min;
}
function test() {
initialize_generator(new Date().getTime());
var test = [0, 0];
for (var i = 0; i < 100000; i++) {
test[mt_rand(0, 1)]++;
}
return test;
}
2、

/**
 * 生成随机数
 *
 * @param 
 * @arrange (www.idcnote.com)
 **/
var random=function(t1,t2,t3){//t1为下限,t2为上限,t3为需要保留的小数位
function isNum(n){
return /^\d+$/.test(n);
} www.jbxue.com
if(!t1 || (! isNum(t1)) ){t1=0;}
if(!t2 || (! isNum(t2)) ){t2=1;}
if(!t3 || (! isNum(t3)) ){t3=0;}
t3 = t3>15?15:t3; // 小数位不能大于15位
var ra = Math.random() * (t2-t1)+t1,du=Math.pow(10,t3);
ra = Math.round(ra * du)/du;
return ra;
}

注:关于JS 生成随机数的算法简单示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!