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 读后台cookie代码
Sep 15 Javascript
Js动态创建div
Sep 25 Javascript
从父页面读取和操作iframe中内容方法
Jul 25 Javascript
JavaScript 关键字屏蔽实现函数
Aug 02 Javascript
jquery属性选择器not has怎么写 行悬停高亮显示
Nov 13 Javascript
javascript常用方法汇总
Dec 02 Javascript
jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法分析
Jun 08 Javascript
基于JavaScript实现Tab选项卡切换效果
Nov 24 Javascript
JavaScript实现隐藏省略文字效果的方法
Apr 27 Javascript
Vue计算属性的使用
Aug 04 Javascript
JS实现音乐导航特效
Jan 06 Javascript
记一次用ts+vuecli4重构项目的实现
May 21 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
计算2000年01月01日起到指定日的天数
2006/10/09 PHP
php session 预定义数组
2009/03/16 PHP
PHP使用DES进行加密与解密的方法详解
2013/06/06 PHP
PHP中的多行字符串传递给JavaScript的两种方法
2014/06/19 PHP
php实现专业获取网站SEO信息类实例
2015/04/02 PHP
php处理单文件、多文件上传代码分享
2016/08/24 PHP
遍历echsop的region表形成缓存的程序实例代码
2016/11/01 PHP
Microsoft Ajax Minifier 压缩javascript的方法
2010/03/05 Javascript
JQuery优缺点分析说明
2011/04/10 Javascript
JQuery实现简单验证码提示解决方案
2012/12/20 Javascript
Javascript四舍五入Math.round()与Math.pow()使用介绍
2013/12/27 Javascript
JS获取计算机mac地址以及IP的实现方法
2014/01/08 Javascript
jquery toolbar与网页浮动工具条具体实现代码
2014/01/12 Javascript
JS实现的用来对比两个用指定分隔符分割的字符串是否相同
2014/09/19 Javascript
js获取浏览器和屏幕的各种宽度高度
2017/02/22 Javascript
浅析 NodeJs 的几种文件路径
2017/06/07 NodeJs
nodejs中解决异步嵌套循环和循环嵌套异步的问题
2017/07/12 NodeJs
node.js 利用流实现读写同步,边读边写的方法
2017/09/11 Javascript
js Dom实现换肤效果
2017/10/21 Javascript
Vue实战之vue登录验证的实现代码
2017/10/31 Javascript
Angular中支持SCSS的方法
2017/11/18 Javascript
Swiper 4.x 使用方法(移动端网站的内容触摸滑动)
2018/05/17 Javascript
vue 插件的方法代码详解
2019/06/06 Javascript
Electron + vue 打包桌面操作流程详解
2019/06/24 Javascript
Vue项目中使用better-scroll实现菜单映射功能方法
2019/09/11 Javascript
Python线程详解
2015/06/24 Python
KIKO MILANO荷兰网上商店:意大利专业化妆品品牌
2017/05/12 全球购物
文秘专业个人求职信
2013/12/22 职场文书
会计专业大学生职业生涯规划范文
2014/01/11 职场文书
护士检查书
2014/01/17 职场文书
药学职务聘任书
2014/03/29 职场文书
房屋转让协议书
2014/04/11 职场文书
英语三分钟演讲稿
2014/08/19 职场文书
领导走群众路线整改措施思想汇报
2014/10/12 职场文书
情况说明书怎么写
2015/10/08 职场文书
《鸡兔同笼》教学反思
2016/02/19 职场文书