js生成随机数
来源:互联网 发布:mac 数据库管理工具 编辑:程序博客网 时间:2024/04/28 02:31
1、理论
1.Math.random(); 结果为0-1间的一个随机数(包括0,不包括1) ,可均衡获取0到1的随机整数。
2.Math.floor(num); 参数num为一个数值,函数结果为num的整数部分(向下取整)。
parseInt()和Math.floor()结果都是向下取整。
parseInt() 函数可解析一个字符串,并返回一个整数。
3.Math.round(num); 参数num为一个数值,函数结果为num四舍五入后的整数(四舍五入)。
4.Math.ceil(n); 返回大于等于n的最小整数(向上取整)。
2、三中方法对随机数取整的比较
1.用Math.ceil(Math.random()*10);时,主要获取1到10的随机整数,取0的几率极小。
2.用Math.round(Math.random()*10);时,可基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半。
3.用Math.floor(Math.random()*10);时,可均衡获取0到9的随机整数。
优先使用Math.floor(Math.random()*10);取随机整数,但需要做一定的处理,如取[0,10]的随机整数,
Math.floor(Math.random()*11)
如果成从minNum到maxNum的随机数,如生成[4,14]之间的随机数,则可以写成
parseInt(Math.random()*(14-4+1)+10,10); Math.floor(Math.random()*(14-4+1)+10);
3、生成从[min,max]的随机数
//生成从[min,max]的随机数//Math.floor(Math.random()*minNum+1); 可以用替换为//parseInt(Math.random()*(max-min+1)+min,10);function randomNum(min,max){ switch(arguments.length){ case 1: return Math.floor(Math.random()*minNum+1); break; case 2: return Math.floor(Math.random()*(max-min+1)+min); break; default: return 0; break; } }
编写一个javscript函数 fn,该函数有一个参数 n(数字类型),其返回值是一个数组,该数组内是 n 个随机且不重复的整数,且整数取值范围是 [2, 32]。
//需要对n ,min max 的值做检查 只能为数字 // 1、n 的取值范围不能炒股 min - max (function fn(n,min,max){ //准备一个空数组用于返回 var result = []; for(var i=0; i<n; i+=1){ //创建一个随机数 var num = randomNum(min,max); //对随机数检查 ,是否重复 var s = result.indexOf(num); if(s>=0){ //随机数已经存在,需要重新循环一次 i--; }else{ result.push(num); } }// return result; console.log(result); })(3,2,32)
4、Array.indexOf 函数
搜索 Array 对象的指定元素并返回该元素的索引。 此函数是静态的,可在不创建对象实例的情况下调用。
var indexVar = Array.indexOf(array, item, start);
4.1返回
如果找到 item,则返回表示该元素在数组中的索引位置的编号;否则返回 -1。
在 Mozilla Firefox 中,如果调用 indexOf 时未设置 item 或将其设置为 undefined,则返回值为 undefined 的第一项的索引。 在同样的情况下,所有其他浏览器都返回 -1。
4.2备注
使用 indexOf 函数可确定某个元素在数组实例中第一次出现的索引位置。
4.3示例
下面的示例演示如何使用 indexOf 函数查找指定项的索引位置。 返回的索引是在 item 中指定的项的第一次出现。 再次调用该函数,并指定大于所找到元素的索引的起始索引值,可查找 item 的下一次出现。
var a = ['red', 'blue', 'green', 'blue'];var myFirstIndex = Array.indexOf(a, "blue");// View the results: "1"alert("myFirstIndex: " + myFirstIndex);var mySecondIndex = Array.indexOf(a, "blue", (myFirstIndex + 1) );// View the results: "3"alert("mySecondIndex: " + mySecondIndex);
- js生成随机数
- js生成随机数
- js生成随机数
- js 生成随机数
- JS 生成随机数
- js 生成随机数
- JS生成随机数
- js生成随机数
- js生成随机数
- js生成随机数
- js 生成随机数方法
- js 生成随机数
- js生成随机数
- JS生成随机数
- js生成随机数
- js生成随机数
- js生成随机数
- js生成随机数
- 如何写出高性能SQL语句之优化SQL查询
- 测试
- document和window的区别。一个简单的举例
- GameObject.Find
- 《C++ Primer》读书笔记第二章-1-基本内置类型 And 变量
- js生成随机数
- 【人工智能】结合多个应用场景讲解智能语音交互技术与应用
- linux kernel源码剖析 共享内存部分 IPC 虚拟内存映射 VMA shmget shmat shmdt shmctl
- C# 管理类的访问权限控制
- ZooKeeper之(六)应用实例
- 常用Maven插件介绍
- spring框架学习(2)
- linux监控命令
- Spring框架简单理解