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

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日

相关文章

  • JS将指定的某个字符全部转换为其他字符实例代码

    下面是完整的攻略,包含了示例代码和说明: 思路: 我们可以通过JS的字符串处理方法,将指定字符串中的某个字符全部替换为其他字符。具体而言,我们可以使用字符串的replace()函数实现替换功能,该函数接受两个参数,分别表示要替换的字符和用于替换的字符。 下面是基本的replace()函数语法: str.replace(searchValue, replace…

    JavaScript 2023年5月28日
    00
  • element多个表单校验的实现

    我们来详细讲解一下如何通过element实现多个表单校验。 确定要校验的表单 首先,需要确定需要进行校验的表单。可以根据业务需求,选择需要进行校验的表单元素。例如,我们需要对登录表单的“用户名”和“密码”两个表单元素进行校验。 导入element UI 接下来,引入element UI的表单校验组件。在Vue.js项目中,通常可以在main.js文件中引入e…

    JavaScript 2023年6月10日
    00
  • 关于vue.js中this.$emit的理解使用

    关于vue.js中this.$emit的理解与使用攻略 什么是this.$emit? 在Vue.js中,this.$emit()是一个特殊的方法,用于定制组件的自定义事件。 在子组件中使用this.$emit(eventName, data)可以触发父组件的自定义事件,这样父组件就能够在监听到该事件后进行相应的处理。 this.$emit使用方法 在Vue.…

    JavaScript 2023年6月10日
    00
  • javascript数组中的map方法和filter方法

    当我们需要对JavaScript数组中的元素进行一些操作时,可以使用JavaScript数组提供的map和filter两种方法。 map方法 map方法允许我们“映射”数组中的每个元素,将其转换为另一个值,并返回一个新的数组,该数组包含映射后的值。 语法 arr.map(callback(currentValue[, index[, array]])[, t…

    JavaScript 2023年5月27日
    00
  • JavaScript 是什么意思

    JavaScript 是一种高级的、弱类型的编程语言,经常用于 Web 前端开发以及服务器端开发。它被设计成一种脚本语言,可以在 Web 页面上直接嵌入 HTML 代码中,也可以在服务器上运行。JavaScript 使得 Web 页面变得更加动态化和交互式。 JavaScript 的语法类似于其他编程语言,如 C、Python 和 Java。它支持基本的数据…

    JavaScript 2023年5月17日
    00
  • javascript知识点收藏

    JavaScript知识点收藏攻略 概述 本文将介绍JavaScript自学中需要重点掌握的知识点,并提供收藏的资源、工具和学习方法。 知识点 以下是自学JavaScript过程中需要重点掌握的知识点:- 变量、数据类型与运算符- 流程控制语句(if/else、switch/case、循环)- 函数与对象的概念、创建与使用- 常见数据结构(如数组、栈、队列、…

    JavaScript 2023年5月18日
    00
  • Dialog底部弹出自定义view并且伴随动画弹出和消失

    要实现Dialog底部弹出自定义view并且伴随动画弹出和消失,我们可以使用以下步骤: 自定义Dialog布局:创建一个XML文件来定义我们Dialog的布局,包括我们想要显示的视图。 示例1: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu…

    JavaScript 2023年6月10日
    00
  • JavaScript中常用的正则表达式日常整理(全)

    JavaScript中常用的正则表达式日常整理(全) 正则表达式是处理文本的重要工具,在JavaScript中也经常使用正则表达式来匹配和处理字符串。这里整理了JavaScript中常用的正则表达式,供参考和学习使用。 匹配特定字符 匹配任意字符:. .(点号)表示匹配任意字符,但是除了换行符。比如: let str = "Hello World!…

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