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 相关文章推荐
日期 时间js控件
May 07 Javascript
isArray()函数(JavaScript中对象类型判断的几种方法)
Nov 26 Javascript
javascript自启动函数的问题探讨
Oct 05 Javascript
jquery 清空file域示例(兼容个浏览器)
Oct 11 Javascript
js判断当页面无法回退时关闭网页否则就history.go(-1)
Aug 07 Javascript
Ajax跨域实现代码(后台jsp)
Jan 21 Javascript
js实现轮播图的两种方式(构造函数、面向对象)
Sep 30 Javascript
Vue工程模板文件 webpack打包配置方法
Dec 26 Javascript
详解Angularjs 自定义指令中的数据绑定
Jul 19 Javascript
使用layer弹窗和layui表单实现新增功能
Aug 09 Javascript
JavaScript数组、json对象、eval()函数用法实例分析
Feb 21 Javascript
Vue实现手机号、验证码登录(60s禁用倒计时)
Dec 19 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
PHP判断文章里是否有图片的简单方法
2014/07/26 PHP
又拍云异步上传实例教程详解
2016/04/19 PHP
magento后台无法登录解决办法的两种方法
2016/12/09 PHP
php读取出一个文件夹及其子文件夹下所有文件的方法示例
2017/06/15 PHP
JavaScript脚本语言在网页中的简单应用
2007/05/13 Javascript
javascript权威指南 学习笔记之变量作用域分享
2011/09/28 Javascript
jQuery中:contains选择器用法实例
2014/12/30 Javascript
javascript日期操作详解(脚本之家整理)
2015/09/05 Javascript
详解javascript传统方法实现异步校验
2016/01/22 Javascript
js方法数据验证的简单实例
2016/09/17 Javascript
JS实现滑动门效果的方法详解
2016/12/19 Javascript
Ajax跨域实现代码(后台jsp)
2017/01/21 Javascript
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
2018/06/14 jQuery
12个提高JavaScript技能的概念(小结)
2019/05/09 Javascript
node中实现删除目录的几种方法
2019/06/24 Javascript
python使用cStringIO实现临时内存文件访问的方法
2015/03/26 Python
Python字符串格式化的方法(两种)
2017/09/19 Python
用Python编写一个高效的端口扫描器的方法
2018/12/20 Python
Python绘制频率分布直方图的示例
2019/07/08 Python
pytorch numpy list类型之间的相互转换实例
2019/08/18 Python
python 使用事件对象asyncio.Event来同步协程的操作
2020/05/04 Python
CSS3美化表单控件全集
2016/06/29 HTML / CSS
基于CSS3实现立方体自转效果
2016/03/01 HTML / CSS
html5画布旋转效果示例
2014/01/27 HTML / CSS
HTML5 body设置全屏背景图片的示例代码
2020/12/08 HTML / CSS
佐卡伊官网:中国知名珠宝品牌
2017/02/05 全球购物
荷兰鞋子在线:Nelson Schoenen
2017/12/25 全球购物
日本高岛屋百货购物网站:TAKASHIMAYA
2019/03/24 全球购物
泰国在线书店:SE-ED
2020/06/21 全球购物
内蒙古鄂尔多斯市市长寄语
2014/04/10 职场文书
贺卡寄语大全
2014/04/11 职场文书
施工安全协议书范本
2014/09/26 职场文书
高一军训决心书
2015/02/05 职场文书
审美与表现自我评价
2015/03/09 职场文书
莫言获奖感言(全文)
2015/07/31 职场文书
Go语言设计模式之结构型模式
2021/06/22 Golang