当前位置:首页 > JavaScript

js 实现随机

2026-02-02 03:30:03JavaScript

随机数生成方法

Math.random() 方法可以生成一个介于 0(包含)和 1(不包含)之间的伪随机浮点数。这是 JavaScript 中最基本的随机数生成方式。

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

指定范围的随机整数

要生成指定范围内的随机整数,可以使用以下公式:

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

随机数组元素

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

const colors = ['red', 'green', 'blue', 'yellow'];
const randomColor = colors[Math.floor(Math.random() * colors.length)];

随机字符串生成

生成指定长度的随机字符串:

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

随机颜色生成

生成十六进制格式的随机颜色:

function randomHexColor() {
  return `#${Math.floor(Math.random() * 16777215).toString(16).padStart(6, '0')}`;
}

随机布尔值

生成随机布尔值:

const randomBool = Math.random() >= 0.5;

随机日期

生成指定日期范围内的随机日期:

function randomDate(start, end) {
  return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime()));
}

随机排列数组(洗牌算法)

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

加权随机选择

根据权重进行随机选择:

function weightedRandom(items, weights) {
  let totalWeight = weights.reduce((a, b) => a + b, 0);
  let random = Math.random() * totalWeight;
  let weightSum = 0;

  for (let i = 0; i < items.length; i++) {
    weightSum += weights[i];
    if (random <= weightSum) return items[i];
  }
}

这些方法涵盖了 JavaScript 中常见的随机数应用场景,可以根据具体需求选择合适的方法或进行组合使用。

js  实现随机

标签: js
分享给朋友:

相关文章

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 使用JavaScript实现拖拽功能需要监听鼠标事件,包括mousedown、mousemove和mouseup。以下是实现的基本逻辑: const draggableElem…

js实现

js实现

实现 JavaScript 功能的方法 在 JavaScript 中实现特定功能通常涉及多个步骤。以下是常见的实现方法: 基础语法和变量声明 使用 let 或 const 声明变量: let co…

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 通过监听鼠标事件(mousedown、mousemove、mouseup)实现拖拽功能。以下是核心代码逻辑: const draggableElement = document…

js实现全屏

js实现全屏

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

js实现选项卡

js实现选项卡

实现选项卡的基本思路 选项卡通常由一组标签和对应的内容面板组成。点击标签时,显示对应的内容面板,隐藏其他面板。实现这一效果需要结合HTML结构、CSS样式和JavaScript交互逻辑。 HTML…

js如何实现继承

js如何实现继承

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