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 相关文章推荐
parseInt parseFloat js字符串转换数字
Aug 01 Javascript
收集的10个免费的jQuery相册
Feb 26 Javascript
在Javascript中 声明时用&quot;var&quot;与不用&quot;var&quot;的区别
Apr 15 Javascript
js页面跳转的问题(跳转到父页面、最外层页面、本页面)
Aug 14 Javascript
js的Prototype属性解释及常用方法
May 08 Javascript
jQuery实用函数用法总结
Aug 29 Javascript
Javascript基础教程之比较null和undefined值
May 16 Javascript
vue.js系列中的vue-fontawesome使用
Feb 10 Javascript
Vue动态控制input的disabled属性的方法
Jun 26 Javascript
js实现3D旋转相册
Aug 02 Javascript
详解vue 中 scoped 样式作用域的规则
Sep 14 Javascript
JavaScript实现网页留言板功能
Nov 23 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新手谈谈我的学习心得
2007/02/25 PHP
在PHP中读取和写入WORD文档的代码
2008/04/09 PHP
Php注入点构造代码
2008/06/14 PHP
PHP实现定时生成HTML网站首页实例代码
2008/11/20 PHP
如何使用Strace调试工具
2013/06/03 PHP
PHP中substr_count()函数获取子字符串出现次数的方法
2016/01/07 PHP
php获取给定日期相差天数的方法分析
2017/02/20 PHP
php+jQuery实现的三级导航栏下拉菜单显示效果
2017/08/10 PHP
Javascript &amp; DHTML 实例编程(教程)DOM基础和基本API
2007/06/02 Javascript
use jscript List Installed Software
2007/06/11 Javascript
JavaScript 页面编码与浏览器类型判断代码
2010/06/03 Javascript
Javascript的一种模块模式
2010/09/08 Javascript
jquery对ajax的支持介绍
2013/12/10 Javascript
实现checkbox全选、反选、取消JavaScript小脚本异常
2014/04/10 Javascript
jquery制作select列表双向选择示例代码
2014/09/02 Javascript
js的toUpperCase方法用法实例
2015/01/27 Javascript
javascript表格的渲染组件
2015/07/03 Javascript
javascript实现鼠标点击页面 移动DIV
2016/12/02 Javascript
Vue.js -- 过滤器使用总结
2017/02/18 Javascript
JS实现留言板功能
2017/06/17 Javascript
js实现数组内数据的上移和下移的实例
2017/11/14 Javascript
QML实现圆环颜色选择器
2019/09/25 Javascript
ES6中Promise的使用方法实例总结
2020/02/18 Javascript
原生javascript制作贪吃蛇小游戏的方法分析
2020/02/26 Javascript
python中二维阵列的变换实例
2014/10/09 Python
python3.6使用pymysql连接Mysql数据库
2018/05/25 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
2018/07/26 Python
用python一行代码得到数组中某个元素的个数方法
2019/01/28 Python
使用python求解二次规划的问题
2020/02/29 Python
HTML5 canvas 瀑布流文字效果的示例代码
2018/01/31 HTML / CSS
基层干部2014全国两会学习心得体会
2014/03/10 职场文书
西式婚礼主持词
2014/03/13 职场文书
文明家庭先进事迹材料
2014/05/14 职场文书
淘宝店策划方案
2014/06/07 职场文书
应届毕业生求职信范文
2014/07/07 职场文书
python基础之类属性和实例属性
2021/10/24 Python