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的tab切换 js原理
Apr 01 Javascript
初识javascript 文档碎片
Jul 13 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
Aug 28 Javascript
详解springmvc 接收json对象的两种方式
Dec 06 Javascript
分分钟玩转Vue.js组件(二)
Mar 01 Javascript
jQuery实现的表格前端排序功能示例
Sep 18 jQuery
JS随机排序数组实现方法分析
Oct 11 Javascript
React中的render何时执行过程
Apr 13 Javascript
通过npm或yarn自动生成vue组件的方法示例
Feb 12 Javascript
关于element-ui的隐藏组件el-scrollbar的使用
May 29 Javascript
React实现todolist功能
Dec 28 Javascript
vue ref如何获取子组件属性值
Mar 31 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
memcache命令启动参数中文解释
2014/01/13 PHP
PHP接口并发测试的方法(推荐)
2016/12/15 PHP
php变量与JS变量实现不通过跳转直接交互的方法
2017/08/25 PHP
jQuery toggle()设置CSS样式
2009/11/05 Javascript
使用js如何实现全选与全不选
2013/12/30 Javascript
Jquery实现点击按钮,连续地向textarea中添加值的实例代码
2014/03/08 Javascript
Google官方支持的NodeJS访问API,提供后台登录授权
2014/07/29 NodeJs
基于NodeJS的前后端分离的思考与实践(四)安全问题解决方案
2014/09/26 NodeJs
javascript获取当前鼠标坐标的方法
2015/01/10 Javascript
基于jquery实现左右按钮点击的图片切换效果
2021/01/27 Javascript
JQuery Ajax WebService传递参数的简单实例
2016/11/02 Javascript
Angular ng-repeat指令实例以及扩展部分
2016/12/26 Javascript
jQuery Dom元素操作技巧
2018/02/04 jQuery
Vue.set()实现数据动态响应的方法
2018/02/07 Javascript
详解vue微信网页授权最终解决方案
2019/06/16 Javascript
独立部署小程序基于nodejs的服务器过程详解
2019/06/24 NodeJs
uni-app实现点赞评论功能
2019/11/25 Javascript
js对象简介与基本用法示例
2020/03/13 Javascript
vue打包通过image-webpack-loader插件对图片压缩优化操作
2020/11/12 Javascript
python中logging模块的一些简单用法的使用
2019/02/22 Python
Python3使用TCP编写一个简易的文件下载器功能
2019/05/08 Python
使用python的turtle绘画滑稽脸实例
2019/11/21 Python
Python3之外部文件调用Django程序操作model等文件实现方式
2020/04/07 Python
浅谈JupyterNotebook导出pdf解决中文的问题
2020/04/22 Python
python批量提取图片信息并保存的实现
2021/02/05 Python
美国狗旅行和户外用品领先供应商:kurgo
2020/08/18 全球购物
《回乡偶书》教学反思
2014/04/12 职场文书
应聘英语教师求职信
2014/04/24 职场文书
机械专业技术员求职信
2014/06/14 职场文书
国际贸易毕业生求职信
2014/07/20 职场文书
个人批评与自我批评总结
2014/10/17 职场文书
三孔导游词
2015/02/05 职场文书
公务员个人年终总结
2015/02/12 职场文书
python实现ROA算子边缘检测算法
2021/04/05 Python
MongoDB数据库常用的10条操作命令
2021/06/18 MongoDB
Python道路车道线检测的实现
2021/06/27 Python