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 相关文章推荐
JQuery中$之选择器用法介绍
Apr 05 Javascript
js定时器的使用(实例讲解)
Jan 06 Javascript
javascript 获取网页标题代码实例
Jan 22 Javascript
JavaScript数据结构与算法之栈与队列
Jan 29 Javascript
jQuery悬停文字提示框插件jquery.tooltipster.js用法示例【附demo源码下载】
Jul 19 Javascript
Javascript 实现计算器时间功能详解及实例(二)
Jan 08 Javascript
详解jQuery事件
Jan 13 Javascript
vue加载完成后的回调函数方法
Sep 07 Javascript
微信小程序开发(三):返回上一级页面并刷新操作示例【页面栈】
Jun 01 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
Jun 10 Javascript
vue-cli4项目开启eslint保存时自动格式问题
Jul 13 Javascript
详解JavaScript中new操作符的解析和实现
Sep 04 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输出xml必须header的解决方法
2014/10/17 PHP
PHP超牛逼无限极分类生成树方法
2015/05/11 PHP
Gird事件机制初级读本
2007/03/10 Javascript
简明json介绍
2008/09/28 Javascript
jQuery提示插件alertify使用指南
2015/04/21 Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
2016/11/18 Javascript
jQuery与JavaScript节点创建方法的对比
2016/11/18 Javascript
node前端开发模板引擎Jade的入门
2018/05/11 Javascript
vue中使用protobuf的过程记录
2018/10/26 Javascript
vue+iview动态渲染表格详解
2019/03/19 Javascript
Vue实现多标签选择器
2019/11/28 Javascript
React 实现车牌键盘的示例代码
2019/12/20 Javascript
es6数组之扩展运算符操作实例分析
2020/04/25 Javascript
针对Vue路由history模式下Nginx后台配置操作
2020/10/22 Javascript
Python中list查询及所需时间计算操作示例
2018/06/21 Python
Python延时操作实现方法示例
2018/08/14 Python
python itchat给指定联系人发消息的方法
2019/06/11 Python
Django项目中实现使用qq第三方登录功能
2019/08/13 Python
Django 在iframe里跳转顶层url的例子
2019/08/21 Python
Python根据服务获取端口号的方法
2019/09/25 Python
解决TensorFlow模型恢复报错的问题
2020/02/06 Python
python使用自定义钉钉机器人的示例代码
2020/06/24 Python
python 爬虫基本使用——统计杭电oj题目正确率并排序
2020/10/26 Python
pycharm 实现光标快速移动到括号外或行尾的操作
2021/02/05 Python
基于CSS3的CSS 多栏(Multi-column)实现瀑布流源码分享
2014/06/11 HTML / CSS
捷克体育用品购物网站:D-sport
2017/12/28 全球购物
英国复古皮包品牌:Beara Beara
2018/07/18 全球购物
英国鲜花递送:Blossoming Gifts
2020/07/10 全球购物
劳动之星获奖感言
2014/02/01 职场文书
公司法人授权委托书范本
2014/09/12 职场文书
国家税务局领导班子对照检查材料思想汇报
2014/10/04 职场文书
无婚姻登记记录证明
2015/06/18 职场文书
严以律己学习心得体会
2016/01/13 职场文书
2016年学校党支部公开承诺书
2016/03/25 职场文书
pytest配置文件pytest.ini的详细使用
2021/04/17 Python
FP-growth算法发现频繁项集——构建FP树
2021/06/24 Python