当前位置:首页 > JavaScript

js实现随机函数

2026-04-07 07:52:09JavaScript

生成随机数

在JavaScript中,Math.random() 是最基础的随机数生成方法,返回一个介于0(包含)和1(不包含)之间的浮点数。

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

生成指定范围的随机整数

结合 Math.floor()Math.ceil() 可以生成指定范围内的随机整数。以下是一个生成 minmax 之间随机整数的函数:

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

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

生成随机字符串

如果需要生成随机字符串(如用于ID或验证码),可以通过以下方式实现:

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

console.log(generateRandomString(8)); // 输出类似 "aB3dE7fG"

随机打乱数组

使用 Fisher-Yates 洗牌算法可以高效地随机打乱数组:

function shuffleArray(array) {
  for (let i = array.length - 1; i > 0; i--) {
    const j = Math.floor(Math.random() * (i + 1));
    [array[i], array[j]] = [array[j], array[i]];
  }
  return array;
}

const arr = [1, 2, 3, 4, 5];
console.log(shuffleArray(arr)); // 输出类似 [3, 1, 5, 2, 4]

生成不重复的随机数

如果需要从一组数据中随机选取不重复的多个值,可以使用以下方法:

function getUniqueRandomItems(array, count) {
  const shuffled = [...array].sort(() => 0.5 - Math.random());
  return shuffled.slice(0, count);
}

const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
console.log(getUniqueRandomItems(numbers, 3)); // 输出3个不重复的随机数

使用 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);
}

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

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

相关文章

js实现全屏

js实现全屏

实现全屏的基本方法 使用JavaScript实现全屏功能主要依赖Element.requestFullscreen()方法。现代浏览器均支持此API,但不同浏览器可能需要添加前缀。 // 触发全屏…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

react如何使用函数

react如何使用函数

使用函数组件的基本语法 在React中,函数组件是通过JavaScript函数定义的组件。函数接收props作为参数,并返回React元素。 function Welcome(props) {…

js实现 功能

js实现 功能

在 JavaScript 中实现功能通常涉及多个关键步骤,具体取决于功能需求。以下是常见功能的实现方法和示例: 基本功能实现 使用函数封装逻辑是最直接的方式。例如,实现一个计算两数之和的函数: f…

js实现路由

js实现路由

js实现路由的方法 在JavaScript中实现路由功能可以通过多种方式完成,以下是几种常见的方法: 使用原生JavaScript实现路由 通过监听window.onhashchange事件来实现基…

js进度条实现

js进度条实现

使用HTML和CSS创建基础结构 在HTML中创建一个容器元素用于显示进度条,通常使用<div>元素。CSS用于设置进度条的样式,包括宽度、高度、颜色和圆角等属性。 <div cl…