当前位置:首页 > JavaScript

js实现一个随机数

2026-03-02 02:43:03JavaScript

生成随机整数

使用 Math.random() 生成 [0, 1) 范围内的随机小数,结合 Math.floorMath.ceil 转换为整数。

// 生成 [min, max] 范围内的随机整数
function getRandomInt(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
}
// 示例:生成 1-10 的随机整数
const randomNum = getRandomInt(1, 10);

生成随机浮点数

直接使用 Math.random() 或扩展范围:

// 生成 [min, max) 范围内的随机浮点数
function getRandomFloat(min, max) {
  return Math.random() * (max - min) + min;
}
// 示例:生成 0-1 的随机浮点数
const randomFloat = getRandomFloat(0, 1);

生成随机字符串

结合随机数和字符集生成固定长度的字符串:

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;
}
// 示例:生成 8 位随机字符串
const randomStr = getRandomString(8);

生成不重复随机数(洗牌算法)

通过 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;
}
// 示例:生成 1-10 的不重复随机序列
const uniqueRandom = shuffleArray([...Array(10).keys()].map(x => x + 1));

使用 Crypto API 生成高安全性随机数

适用于密码学场景,通过 crypto.getRandomValues 实现:

js实现一个随机数

function getSecureRandomInt(min, max) {
  const range = max - min + 1;
  const bytes = new Uint32Array(1);
  crypto.getRandomValues(bytes);
  return min + (bytes[0] % range);
}
// 示例:生成 1-100 的安全随机整数
const secureRandom = getSecureRandomInt(1, 100);

标签: 随机数js
分享给朋友:

相关文章

js如何实现继承

js如何实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例能够访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 // 获取所有…

js实现自举

js实现自举

实现 JavaScript 自举的方法 JavaScript 自举(Bootstrap)通常指通过 JavaScript 动态加载自身或依赖的脚本,实现运行时环境的初始化或扩展。以下是几种常见实现方式…

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码 funct…

js实现正交

js实现正交

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

js 实现全屏

js 实现全屏

使用 requestFullscreen 方法 通过调用元素的 requestFullscreen 方法可以实现全屏。该方法兼容现代浏览器,但不同浏览器可能需要前缀。 const element =…