js中随机生成001-999的随机数

js中随机生成001-999的随机数,第1张

function re(){

var result = Mathfloor(Mathrandom()1000);

if(result<10){

return "00"+result;

}else if(result<100){

return "0"+result;

}else{

return result;

}

}

产生0-10的随机数主要有两种方法

用Mathrandom函数来实现

parseInt(10Mathrandom())

写一个方法,通过传值来实现,这样方便扩展

/

产生一个数组,数组的值是min到max之间的数,随机排列

function RandomArr(Min, Max) {

var array = new Array();

var cha=Max-Min;

for (var i = 0; ; i++) {

if (arraylength < cha) {

//产生随机数 0到count不包含count的随机数

var randomNub = Min+(Mathfloor(Mathrandom() cha));

//Jquery判断数组array中是否包含元素randomNub

if (-1 == $inArray(randomNub, array)) {

arraypush(randomNub);

}

}else{

break;

}

}

return array;

}

//这里是0-10之间的数,不包含10

var array=RandomArr(0,10);

function nameRnd(name) {

return [name]reduce((t, c) => (t  ccodePointAt(0)) % 123, 1);

}

nameRnd('张三'); // 21

nameRnd('李四'); // 95

那个123是指产生的随机数会在0-122的范围内,可以根据需要自己修改

这里使用的是一个比较简单的哈希函数,将每个字符的编码相乘并取余处理

比如上例中的'张三'两个字的10进制编码分别是24352,19977,那么计算过程如下

24352 % 123 = 121

121 19977 = 2417217

2417217 % 123 = 21

你是不是已经会产生1~80的随机数了?如果会了,只需要把你的结果转换为2位格式的字符串即可。

为什么要用字符串,因为对于整数来说,十进制的01和1没有本质区别的。从这个意义上,严格地说产生的是随机字符串的,绝对不是随机数。

下面是一个完整的应用程序例子:

<html><head></head>

<body>

<script language="javascript" type="text/javascript">

var x;

for (i=0;i<=80;i++){

x=parseInt(Mathrandom()(80-1))+1;

if (x<10) x='0'+x;

documentwrite(x,'<br>');

}

</script>

</body></html>

以上就是关于js中随机生成001-999的随机数全部的内容,包括:js中随机生成001-999的随机数、用javascript做一个产生0-10的随机数、JS怎么根据输入的名字生成一个随机数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9537146.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存