JavaScript基础练习题(五)

  1. 生成一个范围内的随机整数:编写一个函数,接收两个参数,表示范围的最小值和最大值,然后生成一个在这个范围内的随机整数。

  2. 生成指定长度的随机字符串:编写一个函数,接收一个参数表示字符串的长度,然后生成一个指定长度的随机字符串,可以包含字母和数字。

  3. 随机打乱数组元素的顺序:给定一个包含多个元素的数组,编写一个函数,能够随机打乱数组中元素的顺序,使得每次打乱结果都是随机的。

  4. 生成随机颜色:编写一个函数,生成一个随机的RGB颜色值,确保每次生成的颜色都是随机的。

  5. 随机选择数组中的元素:给定一个包含多个元素的数组,编写一个函数,能够随机选择一个数组中的元素,并将其返回。

代码如下:

当然,以下是每道练习题的具体代码和注释:

  1. 生成一个范围内的随机整数:
javascript 复制代码
function getRandomInteger(min, max) {
  // 计算范围内的整数个数(包括 min 和 max)
  const count = max - min + 1;
  // 生成一个随机数,范围在 [0, count) 之间
  const random = Math.floor(Math.random() * count);
  // 将随机数与 min 相加,得到最终的随机整数
  return random + min;
}

const randomInt = getRandomInteger(1, 10);
console.log(randomInt);
  1. 生成指定长度的随机字符串:
javascript 复制代码
function getRandomString(length) {
  const characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
  let randomString = '';

  for (let i = 0; i < length; i++) {
    // 生成一个随机的索引,范围在 [0, characters.length) 之间
    const randomIndex = Math.floor(Math.random() * characters.length);
    // 根据随机索引获取字符,并追加到随机字符串中
    randomString += characters.charAt(randomIndex);
  }

  return randomString;
}

const randomStr = getRandomString(6);
console.log(randomStr);
  1. 随机打乱数组元素的顺序:
javascript 复制代码
function shuffleArray(array) {
  const shuffledArray = array.slice(); // 复制数组,避免修改原始数组
  for (let i = shuffledArray.length - 1; i > 0; i--) {
    // 生成一个随机的索引,范围在 [0, i+1) 之间
    const randomIndex = Math.floor(Math.random() * (i + 1));
    // 将当前位置的元素与随机位置的元素交换
    [shuffledArray[i], shuffledArray[randomIndex]] = [shuffledArray[randomIndex], shuffledArray[i]];
  }
  return shuffledArray;
}

const originalArray = [1, 2, 3, 4, 5];
const shuffledArray = shuffleArray(originalArray);
console.log(shuffledArray);
  1. 生成随机颜色:
javascript 复制代码
function getRandomColor() {
  // 生成红、绿、蓝三个通道的随机颜色分量,取值范围在 [0, 255] 之间
  const red = Math.floor(Math.random() * 256);
  const green = Math.floor(Math.random() * 256);
  const blue = Math.floor(Math.random() * 256);
  // 将颜色分量以 RGB 格式拼接,并返回最终的随机颜色值
  return `rgb(${red}, ${green}, ${blue})`;
}

const randomColor = getRandomColor();
console.log(randomColor);
  1. 随机选择数组中的元素:
javascript 复制代码
function getRandomElement(array) {
  // 生成一个随机的索引,范围在 [0, array.length) 之间
  const randomIndex = Math.floor(Math.random() * array.length);
  // 返回随机索引对应的元素
  return array[randomIndex];
}

const array = [1, 2, 3, 4, 5];
const randomElement = getRandomElement(array);
console.log(randomElement);

希望以上代码和注释能够帮助你更好地理解和应用随机数生成的相关概念和技巧。

相关推荐
之歆6 分钟前
DAY_10 JavaScript 深度解析:原型链 · 引用类型 · 内置对象 · 数组方法全攻略(下)
开发语言·前端·javascript·ecmascript
risc1234568 分钟前
python 的字符串前缀
开发语言·python
小程故事多_808 分钟前
Agent Loop 核心突破,上下文压缩四大流派,重新定义窗口资源利用率
java·开发语言·人工智能
如竟没有火炬16 分钟前
字符串相乘——int数组转字符串
开发语言·数据结构·python·算法·leetcode·深度优先
吃好睡好便好19 分钟前
在Matlab中绘制三维等高线图
开发语言·python·学习·算法·matlab·信息可视化
天若有情67325 分钟前
自制C++万能字符串流式库 formort.h|对标标准库endl,零拷贝链式拼接神器
开发语言·c++
行星飞行33 分钟前
从 cursor 、 Claude code 迁移到 codex,30 分钟快速上手 codex 常用技巧
前端
njsgcs40 分钟前
制作solidworks插件 装配体导出展开耗时分析
开发语言·c#·solidworks
C137的本贾尼41 分钟前
别怕异步:`async` 和 `await` 的简单理解
开发语言·python
__log42 分钟前
ComfyUI 集成技术方案分析报告
javascript·python·django