js随机函数生成随机数,js的随机函数

http://www.itjxue.com  2023-01-16 07:42  来源:未知  点击次数: 

JS中,输出1-10之间的随机整数,用Math.random()咋搞呢

使用Math.floor(Math.random()*10+1)函数实现。

1、floor():返回小于等于x的最大整数。

2、函数返回一个浮点,? 伪随机数在范围[0,1),也就是说,从0(包括0)往上,但是不包括1(排除1)。实现将初始种子选择到随机数生成算法,它不能被用户选择或重置。

实例演示如下:

1、html代码如下,绑定生成函数:

2、函数代码如下:

2、随机演示效果如下:均为1-10之内的整数。

扩展资料:

生成不重复的10个随机数,可以用数组存储已经生成的数,新生成的数据若不在数组中就满足条件。

1、函数代码如下:

2、同理,绑定一个button用于测试:

2、演示:点击按钮直到产生10个数字。一次随机数据生产如下:(10个不重复)

参考资料:

百度百科--math.random()

js中如何同时产生八个不同的随机数

js中的random()方法能够产生随机数,要产生8个就循环8次就行了,这没别的方法!

怎么写随机生成数据的Js函数

其实就是随机数的应用了,一楼的取随机数已经相当完善。扩展一下,结果大概如下,不但数据变化,而且颜色也变化,四个颜色,对应四条边框,挺好玩的:

代码如下:

!DOCTYPE?html

html

head

meta?http-equiv="content-type"?content="text/html;charset=utf-8"

style

body{text-align:center;color:#00F}

div{border:15px?solid?#DDD;margin-bottom:5px;}

/style

/head

body

div?id='test0'1/div

div?id='test1'2/div

div?id='test2'3/div

div?id='test3'4/div

div?id='test4'5/div

div?id='test5'6/div

div?id='test6'7/div

br?/

input?type='button'?id='btn'?value='换一组看看'?/

script

!--

//换一组按钮事件

var?btn=document.getElementById('btn');

btn.onclick=function(){fillData();};

var?lineChartData={

labels:["january",'Feb'],

datasets:[],//这里只需要空数组就行了,反正加载的时候要清空掉的。

otherData:[]

}

//以下代码直接贴到你的文件内,应该能管用。

//获取从from?到to 的随机整数

function?rand(min,max){

return?min+parseInt((max-min)*Math.random());

}

//随机rgba颜色值

function?rgbaStr(){

return?"rgba("+rand(0,255)+","+rand(0,255)+","+rand(0,255)+","+rand(0,255)+")";

}

//随机rgb颜色缩写值

function?rgbaStr(){

var?v='0123456789ABCDEF';

return?"#"+v.substr(rand(0,15),1)+v.substr(rand(0,15),1)+v.substr(rand(0,15),1);

}

//填充随机数据

function?fillData(){

lineChartData.datasets=[];//清空原来的

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

lineChartData.datasets.push({

fillColor:rgbaStr(),

strokeColor:rgbaStr(),

pointColor:rgbaStr(),

pointStrokeColor:rgbaStr(),

//随机的数据,应该是你需要的那一部份了。

data:[rand(0,100),rand(0,100),rand(0,100),rand(0,100),rand(0,100),rand(0,100),rand(0,100)]

});

}

//展示数据,直接填充div的四个边的颜色。

for(i?in?lineChartData.datasets){

var?div=document.getElementById('test'+i);

div.style.borderTopColor =lineChartData.datasets[i].fillColor;

div.style.borderLeftColor =lineChartData.datasets[i].strokeColor;

div.style.borderBottomColor =lineChartData.datasets[i].pointColor;

div.style.borderRightColor =lineChartData.datasets[i].pointStrokeColor;

div.innerHTML ='?data:'+lineChartData.datasets[i].data.join('?,?');

}

}

fillData();//加载完成就填充数据

--

/script

/body

/html

请使用Javascript生成10个20~200之间的随机数,要确保生成的随机数不重复.

var?arr=[];

function?rec(r,i){

????for(var?j=0;ji;j++){

????????if(r==arr[j]){

????????????r=Math.floor(Math.random()*(200-20+1)+20);

????????????rec(r,i);

????????????break;

????????}

????}

????if(j==i){

????????arr.push(r);

????}

}

function?random(){

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

????var?r=Math.floor(Math.random()*(200-20+1)+20);

????i==0arr.push(r);

????if(i0){

????????rec(r,i);

????}????

}

console.log(arr);

}

random();

运用了递归排除重复的可能,10个数重复的可能性很小,你可以生成更多数测试,是不会出现重复数字的

生成的10个随机数

生成的30个随机数

如何在javascript中随机产生一个8位数

random 方法

返回介于 0 和 1 之间的伪随机数。

Math.random( )

说明

产生的伪随机数介于 0 和 1 之间(含 0,不含 1),也就是,返回值可能为0,但总是小于1。在第一次加载 JScript 时随机数发生器自动产生 。

通过这个方法可以得到一个随机数,然后把这个随机数截取成一位数,然后凑够8位数就行了。饿

js生成固定数量的随机数,如果已经存在几个,则生成剩余数量的数

js生成随机数主要用到了内置的Math对象的random()方法。用法如:Math.random()。它返回的是一个 0 ~ 1

之间的随机数。有了这么一个方法,那生成任意随机数就好理解了。比如实际中我们可能会有如下的需要:

(1)生成一个 0 - 100 之间的随机整数,那么则可以:

parseInt(100*Math.random());

注意:因为Math.random()的返回值是包括0和1的,所以这里是有生成0和100的可能性的。

(2)生成一个从 m - n 之间的随机整数,例如要生成一个 5 - 15

之间的随机数,则可以:

parseInt(Math.random()*(15-5+1) + 5);

概括即为:

parseInt(Math.random()*(n-m+1)+m);//生成一个从 m - n 之间的随机整数

另外根据需要总结了另外两种常用到的方法,如下:

(3)生成指定位数的随机整数

function randomNum(n){

var t='';

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

t+=Math.floor(Math.random()*10);

}

return t;

}

(4)生成指定范围内的随机整数

function randomNum(minNum,maxNum){

switch(arguments.length){

case 1:

return parseInt(Math.random()*minNum+1);

break;

case 2:

return parseInt(Math.random()*(maxNum-minNum+1)+minNum);

break;

default:

return 0;

break;

}

}

例如生成 2 - 9之间的随机整数,则:randomNum(2,9),生成 1 - 22之间随机整数,则:randomNum(22)

①从0~6中生成3个随机数。

②判断3个随机数是否相等,不相等则执行隐藏操作。

③3随机数有重复,则重新执行函数。

实现:生成0~6的一个随机数

复制代码

代码如下:

var ran1=parseInt(Math.random()*7);

//Math.random()生成[0,1)的一个随机数

完整代码:

!DOCTYPE html

html

head

meta http-equiv="Content-Type" content="text/html; charset=utf-8" /

script language="javascript" type="text/javascript" src=""/script

title挑战题/title

/head

body

ul

li0/li

li1/li

li2/li

li3/li

li4/li

li5/li

li6/li

li7/li

/ul

a id="btn" onclick="cli()"简化/a

/body

script

$(function cli(){

$("#btn").css("cursor","pointer");

if($("#btn").html()=="简化"){

var ran1=parseInt(Math.random()*7);

var ran2=parseInt(Math.random()*7);

var ran3=parseInt(Math.random()*7); //①从0~6中生成3个随机数完成

if(ran1!=ran2ran1!=ran2ran2!=ran3){ //②判断3个随机数是否相等,不相等则执行操作。

$('li:eq('+ran1+')').css('display','none');

$('li:eq('+ran2+')').css('display','none');

$('li:eq('+ran3+')').css('display','none');

$("#btn").html("更多");

}else{//③3随机数有重复,则重新执行函数。

cli();

}

}

else{

$("li:hidden").css('display','list-item');

$("a:contains('更多')").html("简化");

}

});

/script

/html

收获一:

复制代码

代码如下:

var

ran=parseInt(Math.random()*(max-min+1)+min); //生成一个[min,max]区间的一个随机数

收获二:

反思了下,决定写个在一定[min,max]区间,生成n个不重复的随机数的封装函数。

思路一:先生成n个[min,max]区间随机数,比较是否重复,如重复则返回,再次执行。

演示地址:

封装函数:

function my_ran(n,min,max){

var arr=[];

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

arr[i]=parseInt(Math.random()*(max-min+1)+min);

}

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

for(j=i+1;jn;j++){

if(arr[i]==arr[j]){

my_ran(n,min,max);

return fault;

}

}

}

return arr;

}

思路二:生成第i个[min,max]区间的随机数,并与之前i-1个数比较,如有重复,令i=i-1;重复生成第i个随机数。

演示地址:

封装函数:

function my_ran2(n,min,max){

var arr=[];

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

arr[i]=parseInt(Math.random()*(max-min+1)+min);

for(j=0;ji;j++){

if(arr[i]==arr[j]){

i=i-1;

break;

}

}

}

return arr;

}

思路三:生成[min,max]区间的一个顺序数组,打乱数组,输出前n个值。

演示地址:

封装函数:

function my_ran3(n,min,max){

var arr=[];

var arr2=[];

for(i=0;imax-min+1;i++){

arr[i]=i+min;

}

for(var j,x,i=arr.length;i;j=parseInt(Math.random()*i),x=arr[--i],arr[i]=arr[j],arr[j]=x);

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

arr2[i]=arr[i];

}

return arr2;

}

思路四:生成[min,max]区间的一个顺序数组,从中随机选出一个值,然后在数组中删掉这个值,再选第二个随机值。

演示地址:

封装函数:

function my_ran4(n,min,max){

var arr=[];

var arr2=[];

for(i=0;imax-min+1;i++){

arr[i]=i+min;

}

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

var x=parseInt(Math.random()*arr.length);

arr2[i]=arr[x];

for(j=x;jarr.length;j++){

arr[j]=arr[j+1];

}

arr.length=arr.length-1;

}

return arr2;

}

(责任编辑:IT教学网)

更多

推荐鼠标代码文章