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 相关文章推荐
解密效果
Jun 23 Javascript
实现点击列表弹出列表索引的两种方式
Mar 08 Javascript
浅析LigerUi开发中谨慎载入common.css文件
Jul 09 Javascript
javascript实现框架高度随内容改变的方法
Jul 23 Javascript
日常收集整理的JavaScript常用函数方法
Dec 10 Javascript
Vue计算属性的学习笔记
Mar 22 Javascript
一篇文章让你彻底弄懂JS的事件冒泡和事件捕获
Aug 14 Javascript
React中的refs的使用教程
Feb 13 Javascript
JS实现换肤功能的方法实例详解
Jan 30 Javascript
JavaScript实现手风琴效果
Feb 18 Javascript
浅谈node.js中间件有哪些类型
Apr 29 Javascript
微信小程序实现轮播图指示器
Jun 25 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实现图片自动清理的方法
2015/07/08 PHP
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
2016/09/23 PHP
解决laravel id非自增 模型取回为0 的问题
2019/10/11 PHP
用prototype实现的简单小巧的多级联动菜单
2007/03/24 Javascript
通过Javascript将数据导出到外部Excel文档的函数代码
2012/06/15 Javascript
jquery-syntax动态语法着色示例代码
2014/05/14 Javascript
js构造函数、索引数组和属性的实现方式和使用
2014/11/16 Javascript
jQuery+html5+css3实现圆角无刷新表单带输入验证功能代码
2015/08/21 Javascript
javascript实现自动输出文本(打字特效)
2015/08/27 Javascript
javascript实现html页面之间参数传递的四种方法实例分析
2015/12/15 Javascript
jQuery页面刷新(局部、全部)问题分析
2016/01/09 Javascript
详解javascript实现瀑布流列式布局
2016/01/29 Javascript
利用n工具轻松管理Node.js的版本
2017/04/21 Javascript
Bootstrap里的文件分别代表什么意思及其引用方法
2017/05/01 Javascript
underscore之Chaining_动力节点Java学院整理
2017/07/10 Javascript
javascript标准库(js的标准内置对象)总结
2018/05/26 Javascript
详解jenkins自动化部署vue
2019/05/14 Javascript
layui table复选框禁止某几条勾选的实例
2019/09/20 Javascript
React冒泡和阻止冒泡的应用详解
2020/08/18 Javascript
vue+element table表格实现动态列筛选的示例代码
2021/01/14 Vue.js
[10:18]2018DOTA2国际邀请赛寻真——找回自信的TNCPredator
2018/08/13 DOTA
[01:20:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第四场 8.26
2018/08/30 DOTA
利用Python学习RabbitMQ消息队列
2015/11/30 Python
Python调用ctypes使用C函数printf的方法
2017/08/23 Python
一看就懂得Python的math模块
2018/10/21 Python
pycharm打开命令行或Terminal的方法
2019/01/16 Python
pycharm解决关闭flask后依旧可以访问服务的问题
2020/04/03 Python
python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式
2020/05/16 Python
台湾网购生鲜第一品牌:i3Fresh爱上新鲜
2017/10/26 全球购物
美国价格实惠的在线眼镜网站:Zeelool
2020/12/25 全球购物
开放系统互连参考模型
2016/06/29 面试题
幼儿园三八妇女节活动方案
2014/03/11 职场文书
2014年后备干部工作总结
2014/12/08 职场文书
保洁员岗位职责
2015/02/04 职场文书
地球一小时活动总结
2015/02/27 职场文书
高三数学复习备考教学反思
2016/02/18 职场文书