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 相关文章推荐
转换json格式的日期为Javascript对象的函数
Jul 13 Javascript
jQuery timers计时器简单应用说明
Oct 28 Javascript
JavaScript使用Prototype实现面向对象的方法
Apr 14 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
Aug 06 Javascript
ECharts仪表盘实例代码(附源码下载)
Feb 18 Javascript
EasyUI Pagination 分页的两种做法小结
Jul 09 Javascript
jQuery 局部div刷新和全局刷新方法总结
Oct 05 Javascript
JS及JQuery对Html内容编码,Html转义
Feb 17 Javascript
React 项目迁移 Webpack Babel7的实现
Sep 12 Javascript
基于Vue实现平滑过渡的拖拽排序功能
Jun 12 Javascript
原生js实现文件上传、下载、封装等实例方法
Jan 05 Javascript
Bootstrap FileInput实现图片上传功能
Jan 28 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 array_chunk()函数用法与注意事项
2019/07/12 PHP
jquery 必填项判断表单是否为空的方法
2008/09/14 Javascript
遨游,飞飞,IE,空中网 浏览器无提示关闭方法
2011/07/11 Javascript
JQuery入门——事件切换之toggle()方法应用介绍
2013/02/05 Javascript
js 调用百度地图api并在地图上进行打点添加标注
2014/05/13 Javascript
js检测网络是否具体连接功能的代码
2014/05/23 Javascript
javascript中CheckBox全选终极方案
2015/05/20 Javascript
jQuery实现移动端手机商城购物车功能
2016/09/24 Javascript
Vuex2.0+Vue2.0构建备忘录应用实践
2016/11/30 Javascript
基于vue的fullpage.js单页滚动插件
2017/03/20 Javascript
vue深入解析之render function code详解
2017/07/18 Javascript
原生JS实现小小的音乐播放器
2017/10/16 Javascript
使用vue制作探探滑动堆叠组件的实例代码
2018/03/07 Javascript
JS实现页面跳转与刷新的方法汇总
2019/08/30 Javascript
Vue2.4+新增属性.sync、$attrs、$listeners的具体使用
2020/03/08 Javascript
JS数组的常用10种方法详解
2020/05/08 Javascript
学习python (1)
2006/10/31 Python
Python linecache.getline()读取文件中特定一行的脚本
2008/09/06 Python
Python对list列表结构中的值进行去重的方法总结
2016/05/07 Python
详解python里的命名规范
2018/07/16 Python
Pandas之DataFrame对象的列和索引之间的转化
2019/06/25 Python
keras 特征图可视化实例(中间层)
2020/01/24 Python
浅析Python 责任链设计模式
2020/09/11 Python
CSS3转换功能transform主要属性值分析及实现分享
2012/05/06 HTML / CSS
CSS3中的弹性布局em运用入门详解 1em等于多少像素
2021/02/08 HTML / CSS
Bibloo奥地利:购买女装、男装、童装、鞋和配件
2018/10/18 全球购物
创业计划书如何编写
2014/02/06 职场文书
学历公证委托书
2014/04/09 职场文书
作风大整顿心得体会
2014/09/10 职场文书
社区班子个人对照检查材料思想汇报
2014/10/07 职场文书
2014年销售工作总结与计划
2014/12/01 职场文书
大学生党员个人总结
2015/02/13 职场文书
春节慰问简报
2015/07/21 职场文书
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
2021/03/30 HTML / CSS
PHP实现创建以太坊钱包转账等功能
2021/04/21 PHP
Nginx下SSL证书安装部署步骤介绍
2021/12/06 Servers