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 相关文章推荐
google 搜索框添加关键字实现代码
Apr 24 Javascript
javascript forEach通用循环遍历方法
Oct 11 Javascript
Jquery拖拽并简单保存的实现代码
Nov 28 Javascript
jQuery 1.8 Release版本发布了
Aug 14 Javascript
JQuery onload、ready概念介绍及使用方法
Apr 27 Javascript
判断字符串的长度(优化版)中文占两个字符
Oct 30 Javascript
JS实现点击按钮获取页面高度的方法
Nov 02 Javascript
三种Node.js写文件的方式
Mar 08 Javascript
使用JS 插件qrcode.js生成二维码功能
Feb 20 Javascript
详解创建自定义的Angular Schematics
Jun 06 Javascript
JavaScript this使用方法图解
Feb 04 Javascript
JavaScript实现浏览器网页自动滚动并点击的示例代码
Dec 05 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
用php写的serv-u的web申请账号的程序
2006/10/09 PHP
用PHP实现ODBC数据分页显示一例
2006/10/09 PHP
php网页病毒清除类
2014/12/08 PHP
discuz目录文件资料汇总
2014/12/30 PHP
10个php函数实用却不常见
2015/10/13 PHP
Zend Framework数据库操作方法实例总结
2016/12/11 PHP
PHP+Ajax简单get验证操作示例
2019/03/02 PHP
php和vue配合使用技巧和方法
2019/05/09 PHP
js 页面刷新location.reload和location.replace的区别小结
2009/12/24 Javascript
javascript中substr,substring,slice.splice的区别说明
2010/11/25 Javascript
JavaScript Accessor实现说明
2010/12/06 Javascript
50个比较实用jQuery代码段
2011/09/18 Javascript
js获取input标签的输入值实现代码
2013/08/05 Javascript
JavaScript对象学习小结
2015/09/02 Javascript
纯JS代码实现气泡效果
2016/05/04 Javascript
jquery 校验中国身份证号码实例详解
2017/04/11 jQuery
JS同步、异步、延迟加载的方法
2018/05/05 Javascript
小程序点击图片实现自动播放视频
2020/05/29 Javascript
浅谈Vue.js组件(二)
2019/04/09 Javascript
在vue中封装方法以及多处引用该方法详解
2020/08/14 Javascript
[04:30]显微镜下的DOTA2第五期——拉比克
2013/09/26 DOTA
Python文件去除注释的方法
2015/05/25 Python
Python实现统计英文单词个数及字符串分割代码
2015/05/28 Python
Python文件与文件夹常见基本操作总结
2016/09/19 Python
Python爬取APP下载链接的实现方法
2016/09/30 Python
Python3调用微信企业号API发送文本消息代码示例
2017/11/10 Python
Python使用pyh生成HTML文档的方法示例
2018/03/10 Python
python实现守护进程、守护线程、守护非守护并行
2018/05/05 Python
python写入并获取剪切板内容的实例
2018/05/31 Python
pyqt远程批量执行Linux命令程序的方法
2019/02/14 Python
python自动发邮件总结及实例说明【推荐】
2019/05/31 Python
python程序 线程队列queue使用方法解析
2019/09/23 Python
培训主管的岗位职责
2013/11/23 职场文书
学生退学证明
2015/06/23 职场文书
行政处罚决定书
2015/06/24 职场文书
pytorch 如何把图像数据集进行划分成train,test和val
2021/05/31 Python