当前位置:首页 > 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)];

随机字符串生成

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

js  实现随机

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')}`;
}

随机布尔值

生成随机布尔值:

js  实现随机

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
分享给朋友:

相关文章

vue.js实现轮播

vue.js实现轮播

Vue.js 实现轮播功能 使用第三方库(推荐) Vue.js 生态中有许多成熟的轮播组件库,例如 vue-awesome-swiper 或 swiper,它们功能丰富且易于集成。 安装 swipe…

js实现二叉树

js实现二叉树

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

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…

js 实现跳转

js 实现跳转

使用 window.location.href 进行跳转 通过修改 window.location.href 可以跳转到指定 URL,浏览器会加载新页面: window.location.hre…

js实现按钮点击

js实现按钮点击

实现按钮点击的JavaScript方法 HTML按钮元素 在HTML中创建按钮元素,为其添加id或class以便JavaScript选择: <button id="myButton">点…

js 实现图片轮播

js 实现图片轮播

基础实现方案 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS负责样式布局,JavaScript处理轮播逻辑。 <div class="…