JavaScript生成随机数的4种自定义函数分享

yizhihongxing

JavaScript生成随机数的4种自定义函数分享

本文将介绍4种利用JavaScript生成随机数的自定义函数,包括生成n位随机字符串、生成指定范围的整数、生成指定范围的小数、生成可以重复的随机数组。下面将分别进行介绍。

生成n位随机字符串

function randomString(len) {
  len = len || 32;
  var $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
  var maxPos = $chars.length;
  var pwd = '';
  for (i = 0; i < len; i++) {
    pwd += $chars.charAt(Math.floor(Math.random() * maxPos));
  }
  return pwd;
}

该函数能够生成指定长度len的随机字符串,其中用到了字符串+运算符。通过将每一次的运算结果存放在变量pwd中,最终返回该变量即可。

示例说明:生成10位随机字符串

var randomStr = randomString(10)
console.log(randomStr)

输出结果:

"qrcVrHy4Wo"

生成指定范围的整数

function randomNum(minNum, maxNum) {
  switch(arguments.length){
      case 1:
        return parseInt(Math.random()*minNum+1,10);
        break;
      case 2:
        return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10);
        break;
      default:
        return 0;
        break;
  }
}

该函数可以通过传递两个参数 minNum 和 maxNum 来生成指定范围的随机整数。通过调用 Math.random()生成0~1之间小数,再乘以区间长度后,向下取整,得到该区间整数范围内的随机结果。

示例说明:生成1~100之间的随机整数:

var randomInt = randomNum(1, 100)
console.log(randomInt)

输出结果:

42

生成指定范围的小数

function randomFloat(minNum,maxNum){
  switch(arguments.length){
      case 1:
        return Math.random()*minNum;
        break;
      case 2:
        return Math.random()*(maxNum-minNum+1)+minNum;
        break;
      default:
        return 0;
        break;
  }
}

这个函数能够生成指定范围内的随机小数。也是通过调用 Math.random()方法来生成随机数,只不过生成的是0到1之间的小数。通过对区间长度进行计算,可使其生成指定范围的小数。

示例说明:生成1.5~3.5之间的随机小数:

var randomFlo = randomFloat(1.5, 3.5)
console.log(randomFlo)

输出结果:

2.250873308403998

生成可以重复的随机数组

function getRandomArray(len, min, max) {
  var arr = []
  for (var i = 0; i < len; i++) {
    arr.push(parseInt(Math.random() * (max - min + 1) + min))
  }
  return arr
}

该函数可以生成固定长度len,并指定范围的随机数组。通过短路运算符 || 实现默认参数。具体实现方法是:将 Math.random()函数生成的小数乘以区间长度后,再向下取整,加上最小值,得到的结果符合所需随机数的范围,循环len次即可生成随机数组。

示例说明:生成长度为5,范围为1~10之间的随机数组:

var randomArr = getRandomArray(5, 1, 10)
console.log(randomArr)

输出结果:

[10, 7, 1, 2, 8]

结语

本文通过介绍四种函数,展示了JavaScript生成随机数的方法和思路。通过了解这些方法,我们可以在各种场景下方便地生成符合要求的随机数。当然,根据实际应用的需要,也可以针对这些方法进行改进和优化。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript生成随机数的4种自定义函数分享 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • 你可能不知道的CORS跨域资源共享

    下面是关于CORS跨域资源共享的详细讲解,希望能对你有所帮助。 CORS是什么 CORS(Cross-Origin Resource Sharing)跨域资源共享,是用来解决跨域访问的一种技术。由于浏览器实行同源策略(Same-Origin Policy),如果一个URL的协议、域名和端口都与当前页面的协议、域名和端口相同,则就是同源;否则就是跨域,跨域请求…

    JavaScript 2023年6月11日
    00
  • 基于javascript原生判断DOM是否加载完毕

    使用原生JS实现判断DOM是否加载完毕 在网页中,DOM(Document Object Model)是指HTML文档中各个元素的组成结构。当我们需要操作DOM时,必须确保DOM已经加载完毕。下面是一种使用原生JS实现判断DOM是否加载完毕的方法: document.addEventListener(‘DOMContentLoaded’, function(…

    JavaScript 2023年6月10日
    00
  • js尾调用优化的实现

    JS尾调用优化(Tail call optimization)是指在一个函数的最后一个操作是一个函数调用的情况下,JS引擎可以优化成不需要开辟新的堆栈帧,从而减少内存占用,提升性能。本文将详细介绍JS尾调用优化的实现方法。 什么是尾调用 首先讲解一下什么是尾调用(Tail Call)。简单来说,尾调用是指一个函数在返回时调用其他函数。示例代码如下: func…

    JavaScript 2023年6月10日
    00
  • JS两种类型的表单提交方法实例分析

    下面是关于“JS两种类型的表单提交方法实例分析”的完整攻略: JS两种类型的表单提交方法实例分析 提交表单的两种方式 在JS中,可以使用两种不同的方式来提交表单:普通表单提交和Ajax表单提交。 普通表单提交 普通表单是指通过浏览器的提交按钮或通过JS代码完成表单的提交。当我们使用表单提交时,表单会重新加载页面并传递表单数据到服务器。普通表单提交方法很简单,…

    JavaScript 2023年6月10日
    00
  • JavaScript中判断为整数的多种方式及保留两位小数的方法

    JavaScript中判断为整数的多种方式及保留两位小数的方法 判断为整数的多种方式 在JavaScript中,判断一个数是否为整数是经常需要用到的操作。下面列出了常见的几种方法: 取模运算 利用数学中取模运算的特性,即整数x对于任意不等于0的正整数y,x%y的结果只可能是0到y-1之间的整数,如果x % 1等于0,则说明它为整数。具体代码如下: funct…

    JavaScript 2023年6月10日
    00
  • js学习笔记之事件处理模型

    JS学习笔记之事件处理模型 简介 在 Web 开发中,事件处理是一个非常重要的部分。事件处理模型就是规定了当事件发生时可以采取哪些行动。JavaScript 作为 Web 开发中最常用的语言,其事件处理模型主要分为三种:内联模型、传统模型和 DOM2 级模型。本篇文章将会详细讲解这三种事件处理模型的原理及其优缺点,以及如何使用它们。 内联模型 内联模型就是将…

    JavaScript 2023年6月10日
    00
  • JavaScript iframe的相互操作浅析

    JavaScript iframe的相互操作浅析 什么是iframe? Iframe是HTML中的一个元素,它可以用来嵌入一个文档到另一个文档中。通过Iframe,可以在当前页面中加载另一个页面,并且在当前页面中操作该页面的内容。 iframe的用途 主要用于以下情况: 当一个网页需要展示另一个网页的部分内容或者全部内容时,可以用Iframe将另一个网页嵌入…

    JavaScript 2023年6月10日
    00
  • 详解JS中统计函数执行次数与执行时间

    首先我们需要明确一下,统计函数执行次数和执行时间是一个常见的需求,它有助于我们优化代码,找到潜在的性能瓶颈,提高应用程序的性能。那么,在JS中如何统计函数执行次数和执行时间呢? 统计函数执行次数 我们可以定义一个计数器来记录函数执行的次数。例如,下面的代码演示了如何统计函数foo的执行次数: let count = 0; function foo() { /…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部