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 相关文章推荐
JavaScript类和继承 constructor属性
Mar 04 Javascript
javascript中有趣的反柯里化深入分析
Dec 05 Javascript
JQuery勾选指定name的复选框集合并显示的方法
May 18 Javascript
常用DOM整理
Jun 16 Javascript
使用Raygun对Node.js应用进行错误处理的方法
Jun 23 Javascript
JavaScript中this的四个绑定规则总结
Sep 26 Javascript
JavaScript原生节点操作小结
Jan 17 Javascript
原生js 封装get ,post, delete 请求的实例
Aug 11 Javascript
利用Node.js了解与测量HTTP所花费的时间详解
Sep 22 Javascript
Vue下的国际化处理方法
Dec 18 Javascript
JS简单表单验证功能完整示例
Jan 26 Javascript
Vue CLI中模式与环境变量的深入详解
May 30 Vue.js
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
基于文本的访客签到簿
2006/10/09 PHP
解析smarty模板中类似for的功能实现
2013/06/18 PHP
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
2013/08/07 PHP
WordPress的主题编写中获取头部模板和底部模板
2015/12/28 PHP
深入理解php printf() 输出格式化的字符串
2016/05/23 PHP
Laravel 框架路由原理与路由访问实例分析
2020/04/14 PHP
JavaScript 创建对象和构造类实现代码
2009/07/30 Javascript
了解一点js的Eval函数
2012/07/26 Javascript
js正文内容高亮效果的实现方法
2013/06/30 Javascript
firefox浏览器用jquery.uploadify插件上传时报HTTP 302错误
2015/03/01 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
JS基于面向对象实现的拖拽功能示例
2016/12/20 Javascript
基于vue的fullpage.js单页滚动插件
2017/03/20 Javascript
vue-cli开发时,关于ajax跨域的解决方法(推荐)
2018/02/03 Javascript
vue.js 实现图片本地预览 裁剪 压缩 上传功能
2018/03/01 Javascript
JS实现动态添加外部js、css到head标签的方法
2019/06/05 Javascript
使用Python监视指定目录下文件变更的方法
2018/10/15 Python
利用Python求阴影部分的面积实例代码
2018/12/05 Python
python 实现调用子文件下的模块方法
2018/12/07 Python
python通过tcp发送xml报文的方法
2018/12/28 Python
python中设置超时跳过,超时退出的方式
2019/12/13 Python
Python函数的定义方式与函数参数问题实例分析
2019/12/26 Python
资生堂美国官网:Shiseido美国
2016/09/02 全球购物
通信工程专业女生个人求职信
2013/09/21 职场文书
公务员培训心得体会
2013/12/28 职场文书
物流管理专业职业生涯规划书
2014/01/06 职场文书
活动总结格式范文
2014/04/26 职场文书
书法大赛策划方案
2014/06/04 职场文书
酒店总经理岗位职责范本
2014/08/08 职场文书
社区两委对照检查材料
2014/08/23 职场文书
表扬稿格式范文
2015/01/16 职场文书
师范生见习自我总结
2015/06/23 职场文书
个人工作决心书
2015/09/22 职场文书
干货:如何写好工作总结报告!
2019/05/10 职场文书
2019交通安全宣传标语集锦!
2019/06/28 职场文书
Python可视化神器pyecharts绘制地理图表
2022/07/07 Python