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 相关文章推荐
Javascript下IE与Firefox下的差异兼容写法总结
Jun 18 Javascript
JavaScript打字小游戏代码
Dec 26 Javascript
jquery $(this).attr $(this).val方法使用介绍
Oct 08 Javascript
JS实现的4种数字千位符格式化方法分享
Mar 02 Javascript
使用jQuery判断浏览器滚动条位置的方法
May 30 Javascript
angular实现form验证实例代码
Jan 17 Javascript
整理关于Bootstrap警示框的慕课笔记
Mar 29 Javascript
Node.JS利用PhantomJs抓取网页入门教程
May 19 Javascript
angular1配合gulp和bower的使用教程
Jan 19 Javascript
在vue中使用jointjs的方法
Mar 24 Javascript
用JS实现根据当前时间随机生成流水号或者订单号
May 31 Javascript
在JavaScript中使用严格模式(Strict Mode)
Jun 13 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实现图片压缩的两则实例
2014/07/19 PHP
php加密解密字符串示例
2016/10/13 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
2019/09/16 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
图片格式的JavaScript和CSS速查手册
2007/08/20 Javascript
javascript 模拟JQuery的Ready方法实现并出现的问题
2009/12/06 Javascript
JavaScript给按钮绑定点击事件(onclick)的方法
2015/04/07 Javascript
JS实现光滑展开合拢的菜单效果代码
2015/09/16 Javascript
jQuery实现元素拖拽并cookie保存顺序的方法
2016/02/20 Javascript
AngularJs入门教程之环境搭建+创建应用示例
2016/11/01 Javascript
Vue实现双向绑定的方法
2016/12/22 Javascript
JS正则表达式验证密码格式的集中情况总结
2017/02/23 Javascript
nodejs使用express创建一个简单web应用
2017/03/31 NodeJs
angularjs select 赋值 ng-options配置方法
2018/02/28 Javascript
react-native 圆弧拖动进度条实现的示例代码
2018/04/12 Javascript
jQuery实现轮播图及其原理详解
2020/04/12 jQuery
Vue框架里使用Swiper的方法示例
2018/09/20 Javascript
详解Vue中使用Axios拦截器
2019/04/22 Javascript
Python中join和split用法实例
2015/04/14 Python
Python监控主机是否存活并以邮件报警
2015/09/22 Python
python学习笔记之列表(list)与元组(tuple)详解
2017/11/23 Python
python保存二维数组到txt文件中的方法
2018/11/15 Python
详解Django配置优化方法
2019/11/18 Python
python filecmp.dircmp实现递归比对两个目录的方法
2020/05/22 Python
python利用 keyboard 库记录键盘事件
2020/10/16 Python
详解利用canvas实现环形进度条的方法
2019/06/12 HTML / CSS
印度最大的旅游网站:MakeMyTrip
2016/10/05 全球购物
欧洲顶级体育电子商务网站:SportsShoes.com
2018/03/27 全球购物
Omio中国:全欧洲低价大巴、火车和航班搜索和比价
2018/08/09 全球购物
美国摩托车头盔、零件、齿轮及配件商店:Cycle Gear
2019/06/12 全球购物
英语专业学生个人求职信范文
2014/01/06 职场文书
标准大学生职业生涯规划书写作指南
2014/09/18 职场文书
会议通知格式范文
2015/04/15 职场文书
学历证明样本
2015/06/16 职场文书
详细了解java监听器和过滤器
2021/07/09 Java/Android
动画「进击的巨人」第86话播出感谢绘公开
2022/03/21 日漫