JS 随机数

Posted 邹少聪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS 随机数相关的知识,希望对你有一定的参考价值。

随机数代码练习

 随机数的用法:

1.Math.random(); 结果为0-1间的一个随机数(包括0,不包括1) 
2.Math.floor(num); 参数num为一个数值,函数结果为num的整数部分。 
3.Math.round(num); 参数num为一个数值,函数结果为num四舍五入后的整数。

Math:数学对象,提供对数据的数学计算。
Math.random(); 返回0和1间(包括0,不包括1)的一个随机数。

Math.ceil(n); 返回大于等于n的最小整数。
用Math.ceil(Math.random()*10);时,主要获取1到10的随机整数,取0的几率极小。

Math.round(n); 返回n四舍五入后整数的值。
用Math.round(Math.random());可均衡获取0到1的随机整数。
用Math.round(Math.random()*10);时,可基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半。

Math.floor(n); 返回小于等于n的最大整数。
用Math.floor(Math.random()*10);时,可均衡获取0到9的随机整数。

多维数组注意:

alert(new Date().getTime());
alert(Math.abs(-1));//对象调用方法
alert(Math.PI);//对象调用属性
alert(Math.ceil(2.3));//向上取整,只要有小数点就+1//3
alert(Math.floor(1.9));//1

代码练习:

1.36选7彩票题

首先要理清思路,怎么做,该干什么 写注释!!!

技术分享图片
 1 var arr = [];//定义一个数组
 2     for (var i=0;i<7;i++){//随机抽取数
 3         var num =parseInt(Math.random()*35+1);//36个数里随机挑选
 4         for(var j in arr){//定义一个数j在arr数组里面
 5             if(arr[j]==num){//如果num这个数等于j,那就是重复
 6                 jj=false;//定义jj代表重复
 7             }
 8         }
 9         if(!jj){//如果不重复
10             i--;
11         }else{
12             arr[i]=num;//则就把这个数放在这组数组里面
13         }
14     }
36选7彩票

2.学生成绩汇总计算

技术分享图片
 1 var xuehao = ["学号","语文","数学","英语"];//定义一个多维数组
 2     var arr =[
 3         [012,65,46,65],//这个数组里面包括三位学生的学号、语文成绩、数学成绩、英语成绩
 4         [006,86,96,90],
 5         [019,35,26,48],
 6     ];
 7     for(var i=0;i<arr.length;i++){
 8         console.log("第"+(i+1)+"个学生信息:学号"+arr[i][0]+"语文:"+arr[i][1]+"数学:"+arr[i][2]+"英语:"+arr[i][3]);//输出信息
 9     }
10     var i =0;//定义一个元素i
11     var  = setInterval(function(){//建立一个周期函数
12         if(i>=arr.length-1){//如果这个数大于等于数组的长度减1
13             clearInterval(stop);//那么就停止这个方法
14         }
15         console.log("第"+(i+1)+"个学生信息:学号"+arr[i][0]+"语文:"+arr[i][1]+"数学:"+arr[i][2]+"英语:"+arr[i][3]);
16         i++;
17     },1000);
学生成绩计算

3.随机获取4个数

技术分享图片
 1 window.onload = showyam;//窗口加载页面
 2 var str = "";//设一个字符串为空值 这里的str是全局变量
 3 function showyzm(){//执行的方法
 4     var strA = [1,2,3,4,5,6,7,"a","b","c"];//定义一个数组strA
 5     str ="";
 6     for(var i=0; i<4;i++){//循环4次
 7         var quzhi = parseInt(Math.random()*strA.length);//这个取值是根据数组的长度来取
 8         str = str + strA[quzhi];//把取得的这个数加在数组里面
 9     }
10     document.getElementById("dd").innerhtml =str;//取得的这个数应用在html里面的元素"dd"里面,也就是div里
11 }
12 
13 function istrue(){
14     //获取用户输入的验证码
15     var userstr = document.getElementById("yzm").value;
16     if (userstr==str){//如果用户输入的和数组里的一样
17         //那么就应用在HTML里
18         document.getElementById("info").innerHTML ="验证码输入正确";
19     }else{//如果不一样就显示错误
20         document.getElementById("info").innerHTML = "验证码错误";
21     }
验证码的应用和登陆界面的验证

4.确认数组下标/两组数组比较大小

技术分享图片
 1 确认数组里的数的下标
 2 /*var arr = [1,2,3,8,5,9,6];//定义一个数组
 3 for(var i=0;i<arr.length;i++){//循环
 4     if(arr[i] == 8){//如果这个数是8
 5         alert(i);//那么就输出这个数的下标(也就是在数组里排第几位)
 6     }
 7 }
 8 //两组数组比大小
 9 for(var i=0;i<arr.length;i++){//这个循环出来的数
10     for(var j=i+1;j<arr.length;j++){//循环
11         var pk = null;//定义第一个数组一个变量为空值
12         if(arr[i]>arr[j]){//如果数组i里面的数大于数组j里面的数
13             pk =arr[i];//取得数就是i里面的数
14             arr[i]=arr[j];//两个数组里的数组相等
15             arr[j]=pk;//得出一组从小到大排列的数
16         }
17     }
18 }alert(arr);
确认下标、比大小

5.评委打分

技术分享图片
 1 <body>
 2 第<span id="wei">1</span>位评委打分:<input id="but" type="button" value="下一位" onClick="end()"><br>
 3 去掉一个最高分:<span id="height"></span><br>
 4 去掉一个最低分:<span id="low"></span><br>
 5 最终得分:<span id="end"></span>
 6 </body>
 7 
 8 
 9 var end = "";
10 window.onload = function (){
11     var but = document.getElementById("but"),
12         but.setAttribute("on click","next()")
13         height= document.getElementById("height"),
14         low= document.getElementById("low");
15         var arr = [];
16         function next(){
17             var fs = document.getElementById("fenshu");
18             arr[n]= fs.value;
19             n=n+1;
20             console.log(arr);
21             document.getElementById"sp1".innerHTML = n+1;
22             fs.value="";
23             document.getElementById"".innerHTML = max
24         }
评委打分计算

6.计算器

技术分享图片
 1 <div>
 2     <input id="a1" type="text">
 3     <select id="b2" type="">
 4         <option>+</option>
 5         <option>-</option>
 6         <option>*</option>
 7         <option>/</option>
 8     </select>
 9     <input id="c3" type="text" value="">
10     <input id="d4" type="button" value="计算" onClick="math()">
11     <input id="e5" type="text" value="">
12 </div>
13 
14 var sum="";
15 function math(){
16     var a1 =document.getElementById("a1").value;
17     var b2 =document.getElementById("b2");
18     var c3 =document.getElementById("c3").value;
19     var d4 =document.getElementsByTagName("select")[0];
20     var e5 =document.getElementById("e5");
21          if(b2 =="+"){
22             sum.value="+a1 + +c3";//sum=parseInta1+parseIntc3;
23              console.log(a1);
24         }
25         else if(b2=="-"){
26             sum.value=+a1 - +c3;//sum=parseInta1/parseIntc3;
27         }
28         else if(b2=="*"){
29             sum.value=+a1 * +c3;//sum=parseInta1*parseIntc3;
30         }
31         else if(b2=="/"){
32             sum.value=+a1 / +c3;//sum=parseInta1/parseIntc3;
33             
34         }
35         e5.value = sum;
36     }
计算器

 












以上是关于JS 随机数的主要内容,如果未能解决你的问题,请参考以下文章

播放随机声音而不重复

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

js代码片段: utils/lcoalStorage/cookie

JS代码片段:一个日期离现在多久了

js常用代码片段(更新中)