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 相关文章推荐
ie6下png图片背景不透明的解决办法使用js实现
Jan 11 Javascript
原生js实现半透明遮罩层效果具体代码
Jun 06 Javascript
jquery数组封装使用方法分享(jquery数组遍历)
Mar 25 Javascript
javascript 动态创建表格的2种方法总结
Mar 04 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
Aug 17 Javascript
jQuery表格行上移下移和置顶的实现方法
Oct 08 Javascript
vue组件学习教程
Sep 09 Javascript
jquery ajax异步提交表单数据的方法
Oct 27 jQuery
基于ES6作用域和解构赋值详解
Nov 03 Javascript
JS简单生成由字母数字组合随机字符串示例
May 25 Javascript
vue下载excel的实现代码后台用post方法
May 10 Javascript
Vue组件模板的几种书写形式(3种)
Feb 19 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
【动漫杂谈】关于《请在T台上微笑》
2020/03/03 日漫
重置版游戏视频
2020/04/09 魔兽争霸
ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法
2018/09/26 PHP
php和C#的yield迭代器实现方法对比分析
2019/07/17 PHP
js中几种去掉字串左右空格的方法
2006/12/25 Javascript
js自带函数备忘 数组
2006/12/29 Javascript
JavaScript—window对象使用示例
2013/12/09 Javascript
jQuery中事件对象e的事件冒泡用法示例介绍
2014/04/25 Javascript
jquery实现图片上传之前预览的方法
2015/07/11 Javascript
jquery背景跟随鼠标滑动导航
2015/11/20 Javascript
全面解析JavaScript的Backbone.js框架中的Router路由
2016/05/05 Javascript
简单实现js浮动框
2016/12/13 Javascript
jQuery密码强度验证控件使用详解
2017/01/05 Javascript
jQuery实现全选、反选和不选功能
2017/08/16 jQuery
Vue自定义指令封装节流函数的方法示例
2018/07/09 Javascript
js实现图片放大并跟随鼠标移动特效
2019/01/18 Javascript
layui表格数据重载
2019/07/27 Javascript
vue实现移动端触屏拖拽功能
2020/08/21 Javascript
vue3.0生命周期的示例代码
2020/09/24 Javascript
[01:04]不如跳舞!DOTA2新英雄玛尔斯的欢乐日常
2019/03/11 DOTA
利用一个简单的例子窥探CPython内核的运行机制
2015/03/30 Python
在Python中使用PIL模块处理图像的教程
2015/04/29 Python
Python采用Django制作简易的知乎日报API
2016/08/03 Python
python+opencv实现动态物体追踪
2018/01/09 Python
python实现图书管理系统
2018/03/12 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
2019/04/16 Python
python实现邮件自动发送
2019/08/10 Python
Python爬取豆瓣视频信息代码实例
2019/11/16 Python
3种python调用其他脚本的方法
2020/01/06 Python
弄清Pytorch显存的分配机制
2020/12/10 Python
乐高官方旗舰店:LEGO积木玩具
2019/04/06 全球购物
美国尼曼百货官网:Neiman Marcus
2019/09/05 全球购物
英国复古服装购物网站:Collectif
2019/10/30 全球购物
后进基层党组织整改方案
2014/10/25 职场文书
挂职个人工作总结
2015/03/05 职场文书
教师个人工作总结范文2015
2015/10/14 职场文书