javascript获取四位数字或者字母的随机数

 更新时间:2023年05月01日 18:47:16   作者:蚂蚁部落  
这篇文章主要介绍了javascript获取四位数字或者字母的随机数,需要的朋友可以参考下

本章节通过代码实例介绍一下如何实现简单的四位随机数功能。
比较简单的一种实现方式就是从数字和字母中随机抽取四个不重复的字符。

代码实例如下:

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)

上面的代码实现了我们的要求,但有点不方便扩展,下面给出更好的代码

<script>
var arr=[0,1,2,3,4,5,6,7,8,9,"a","b","c","d","e","f","g"];
function done(arr,len){
  var num=arr.length;
  var code="";
  for(var index=0;index<len;index++){
    code=code+arr[parseInt(Math.random()*num)];
  }
  return code;
}
console.log(done(arr,4));
</script>

下面就介绍一下上面代码的实现过程。

一.代码注释:

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个随机数。

到此这篇关于javascript获取四位数字或者字母的随机数的文章就介绍到这了,更多相关js随机数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • element-ui 上传图片后标注坐标点

    element-ui 上传图片后标注坐标点

    有个组件库的名称叫做element-ui,基于Vue2.0开发,提供了丰富的PC端组件,本文通过实例代码给大家介绍element-ui 上传图片后标注坐标点的示例代码,感兴趣的朋友跟随小编一起看看吧
    2021-07-07
  • JS的数组迭代方法

    JS的数组迭代方法

    这篇文章主要介绍了JS的数组迭代方法,实例分析了javascript使用数组迭代的相关技巧,代码中备有较为详细的注释便于理解,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • JS函数的call和apply的实现方法区别分析

    JS函数的call和apply的实现方法区别分析

    这篇文章主要为大家介绍了JS函数的call和apply的实现方法区别分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • Web网站都变成灰色有哪些方法可以快速实现(解决方案)

    Web网站都变成灰色有哪些方法可以快速实现(解决方案)

    有些时候我们需要把网站页面变成黑白色或灰色,特别是对于一些需要悼念的日子,以及一些影响力很大的伟人逝世或纪念日的时候,都会让网站的全部网页变成灰色(黑白色),以表示我们对逝者或者英雄的缅怀和悼念
    2022-12-12
  • 使用JS获取input file的路径C:\fakepath\问题及解决方法

    使用JS获取input file的路径C:\fakepath\问题及解决方法

    这篇文章主要介绍了使用JS获取input file的路径C:\fakepath\问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • JS中的数组方法笔记整理

    JS中的数组方法笔记整理

    这篇文章主要介绍了JS中的数组方法笔记整理 的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • JS实现自定义弹窗功能

    JS实现自定义弹窗功能

    浏览器自带的原生弹窗很不美观,而且功能比较单一,绝大部分时候我们都会按照设计图自定义弹窗或者直接使用注入layer的弹窗等等。下面小编给大家带来了JS实现自定义弹窗,感兴趣的朋友一起看看吧
    2018-08-08
  • webpack中的热刷新与热加载的区别

    webpack中的热刷新与热加载的区别

    本篇文章主要介绍了webpack中的热刷新与热加载的区别,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • JavaScrip变量声明关键字var、let、const详解

    JavaScrip变量声明关键字var、let、const详解

    在JavaScript中var、let和const是用于声明变量的关键字,但它们之间存在一些关键的区别,这篇文章主要介绍了JavaScrip变量声明关键字var、let、const的相关资料,需要的朋友可以参考下
    2025-04-04
  • 详解实现一个通用的“划词高亮”在线笔记功能

    详解实现一个通用的“划词高亮”在线笔记功能

    这篇文章主要介绍了实现一个通用的“划词高亮”在线笔记文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04

最新评论