当前位置:首页 > JavaScript

js实现随机函数

2026-03-15 14:29:24JavaScript

生成随机数的方法

JavaScript 提供了多种生成随机数的方式,以下是几种常见的方法:

Math.random() 基础用法

Math.random() 返回一个介于 0(包含)和 1(不包含)之间的浮点数:

const randomNum = Math.random();
console.log(randomNum); // 输出类似 0.123456789

生成指定范围的随机整数

要生成一个介于 min(包含)和 max(包含)之间的随机整数:

js实现随机函数

function getRandomInt(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

const randomInt = getRandomInt(1, 10);
console.log(randomInt); // 输出 1 到 10 之间的整数

生成指定范围的随机浮点数

生成一个介于 min(包含)和 max(不包含)之间的随机浮点数:

function getRandomFloat(min, max) {
  return Math.random() * (max - min) + min;
}

const randomFloat = getRandomFloat(1.5, 5.5);
console.log(randomFloat); // 输出 1.5 到 5.5 之间的浮点数

使用 crypto.getRandomValues()

对于需要更安全的随机数(如加密场景),可以使用 crypto.getRandomValues()

js实现随机函数

function getSecureRandomInt(min, max) {
  const range = max - min + 1;
  const randomBuffer = new Uint32Array(1);
  window.crypto.getRandomValues(randomBuffer);
  return min + (randomBuffer[0] % range);
}

const secureRandomInt = getSecureRandomInt(1, 100);
console.log(secureRandomInt); // 输出 1 到 100 之间的安全随机整数

从数组中随机选择元素

从数组中随机选择一个元素:

function getRandomElement(array) {
  const randomIndex = Math.floor(Math.random() * array.length);
  return array[randomIndex];
}

const fruits = ['apple', 'banana', 'orange', 'grape'];
const randomFruit = getRandomElement(fruits);
console.log(randomFruit); // 随机输出数组中的一个水果

生成随机字符串

生成指定长度的随机字符串(包含字母和数字):

function getRandomString(length) {
  const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
  let result = '';
  for (let i = 0; i < length; i++) {
    result += chars.charAt(Math.floor(Math.random() * chars.length));
  }
  return result;
}

const randomString = getRandomString(8);
console.log(randomString); // 输出类似 "aB3dE7fG"

标签: 函数js
分享给朋友:

相关文章

jquery.js

jquery.js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,用于简化 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它的设计宗旨是“Write Less, Do Mor…

js实现打印

js实现打印

使用window.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

js 实现链表

js 实现链表

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。与数组不同,链表在内存中是非连续存储的,插入和删除操作效率较高。 链表的实现 在 JavaScrip…

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(f…

js实现正交

js实现正交

正交的概念 正交在数学和计算机科学中通常指两个向量垂直或线性无关。在编程中,正交性常被用于设计模块化、低耦合的系统。 向量正交判断 判断两个向量是否正交可以通过点积是否为0来实现: fun…

js实现上传图片

js实现上传图片

使用HTML5的File API实现图片上传 HTML5的File API允许通过JavaScript访问用户选择的文件。需要创建一个文件输入元素,并监听其change事件。 <input t…