javascript获取四位数字或者字母的随机数


Posted in Javascript onJanuary 09, 2015

本章节通过代码实例介绍一下如何实现简单的四位随机数功能。
比较简单的一种实现方式就是从数字和字母中随机抽取四个不重复的字符。

代码实例如下:

function only(ele,arr){ 
 if(arr.length==0){ 
  return true; 
 } 
 for(var j=0;j<arr.length;j++){ 
  if(ele==arr[j]){ 
   return false; 
  }else{ 
   return true; 
  } 
 } 
} 
 
var arr=[0,1,2,3,4,5,6,"a","b","c","d","e","f","g"]; 
 
(function(){ 
 var randNum=null; 
 var old=[]; 
 var str=""; 
 function done(){ 
  randNum=Math.floor(Math.random()*14); 
  if(only(randNum,old)){ 
   str=str+arr[randNum]; 
   old.push(randNum); 
  } 
  else{ 
   done(); 
  } 
 } 
 for(var index=0;index<4;index++){ 
  done(); 
 } 
 console.log(str); 
})(arr)

上面的代码实现了我们的要求,下面就介绍一下上面代码的实现过程。

一.代码注释:
1.function only(ele,arr){},此函数可以实现判断指定的索引是否已经使用过了,放置随机数出现重复。
2.if(arr.length==0){},如果数组为空,那么就说明不可能是重复的情况,返回true。
3.for(var j=0;j<arr.length;j++){},数组不为空,就遍历数组中的元素,进行比对,没有重复的就返回true,否则返回false。4.var arr=[0,1,2,3,4,5,6,"a","b","c","d","e","f","g"],获取随机数的数组,当然可以进行扩充。
5.(function(){})(arr),一个自执行函数,并传递一个参数。
6.var randNum=null,声明一个变量并赋初值为null,用来存储随机生成的数组索引。
7.var old=[],创建一个空数组,用来存储已经出现过的数组索引值。
8.var str="",创建一个空字符串,用来存放生成的随机数。
9.function done(){},此函数可以用来获取一个随机数。
10.randNum=Math.floor(Math.random()*14),获取数组的索引值。
11.if(only(randNum,old)){
str=str+arr[randNum];
old.push(randNum);
},判断是否已经使用过,如果没有,则获取数组元素,并追加到str字符串中,最后将此索引值追加到old数组。
12.else{ done();
},如果已经用过,那么再获取一次,这里是使用递归的方式。
13.for(var index=0;index<4;index++){
done();
},使用for循环获取4个随机数。

来自:http://www.softwhy.com/forum.php?mod=viewthread&tid=16493

Javascript 相关文章推荐
读jQuery之八 包装事件对象
Jun 21 Javascript
深入理解JavaScript系列(2) 揭秘命名函数表达式
Jan 15 Javascript
jsvascript图像处理—(计算机视觉应用)图像金字塔
Jan 15 Javascript
ExtJS4 动态生成的grid导出为excel示例
May 02 Javascript
jQuery中ajax的load()与post()方法实例详解
Jan 05 Javascript
使用jQuery的ajax方法向服务器发出get和post请求的方法
Jan 13 Javascript
js实现截图保存图片功能的代码示例
Feb 16 Javascript
解决vue路由后界面没有变化,但是链接有的问题
Sep 01 Javascript
async/await优雅的错误处理方法总结
Jan 30 Javascript
解析vue、angular深度作用选择器
Sep 11 Javascript
使用 JavaScript 创建并下载文件(模拟点击)
Oct 25 Javascript
VSCode launch.json配置详细教程
Jun 18 Javascript
JS JQUERY实现滚动条自动滚到底的方法
Jan 09 #Javascript
JavaScript Math.ceil 方法(对数值向上取整)
Jan 09 #Javascript
封装好的js判断操作系统与浏览器代码分享
Jan 09 #Javascript
JavaScript Math.floor方法(对数值向下取整)
Jan 09 #Javascript
使用javascript实现json数据以csv格式下载
Jan 09 #Javascript
js读取csv文件并使用json显示出来
Jan 09 #Javascript
微信JS接口汇总及使用详解
Jan 09 #Javascript
You might like
jquery 分页控件实现代码
2009/11/30 Javascript
jQuery 连续列表实现代码
2009/12/21 Javascript
jquery异步循环获取功能实现代码
2010/09/19 Javascript
jquery 元素相对定位代码
2010/10/15 Javascript
jquery 插件学习(四)
2012/08/06 Javascript
如何调试异步加载页面里包含的js文件
2014/10/30 Javascript
JS使用oumousemove和oumouseout动态改变图片显示的方法
2015/03/31 Javascript
js实现select跳转菜单新窗口效果代码分享(超简单)
2015/08/21 Javascript
举例讲解JavaScript中将数组元素转换为字符串的方法
2015/10/25 Javascript
Vue.js每天必学之计算属性computed与$watch
2016/09/05 Javascript
使用命令行工具npm新创建一个vue项目的方法
2017/12/27 Javascript
基于Fixed定位的框选功能的实现代码
2019/05/13 Javascript
JavaScript实现横版菜单栏
2020/03/17 Javascript
Node登录权限验证token验证实现的方法示例
2020/05/25 Javascript
解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突问题
2020/07/24 Javascript
Openlayers学习之地图比例尺控件
2020/09/28 Javascript
[40:12]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
给Python IDLE加上自动补全和历史功能
2014/11/30 Python
python处理大数字的方法
2015/05/27 Python
Python基础教程之利用期物处理并发
2018/03/29 Python
python爬虫之自动登录与验证码识别
2020/06/15 Python
python实现简单名片管理系统
2018/11/30 Python
Python3 执行Linux Bash命令的方法
2019/07/12 Python
tensorflow tf.train.batch之数据批量读取方式
2020/01/20 Python
多个python文件调用logging模块报错误
2020/02/12 Python
使用Python第三方库pygame写个贪吃蛇小游戏
2020/03/06 Python
茵宝(Umbro)英国官方商店:英国足球服装生产商
2016/12/29 全球购物
班组长岗位职责
2014/03/03 职场文书
村党支部书记承诺书
2014/05/29 职场文书
商场客服专员岗位职责
2014/06/13 职场文书
学校关爱留守儿童活动方案
2014/08/27 职场文书
民主评议党员个人自我评价
2015/03/03 职场文书
消防宣传语大全
2015/07/13 职场文书
2015年电气技术员工作总结
2015/07/24 职场文书
班委竞选稿范文
2015/11/21 职场文书
Python+Matplotlib+LaTeX玩转数学公式
2022/02/24 Python