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);

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

相关推荐
kyriewen11 小时前
我手写了一个 EventEmitter,面试官追问了 6 个问题——第 4 个我没答上来
前端·javascript·面试
IT_陈寒11 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
山河木马12 小时前
矩阵专题2-怎么创建视图矩阵(uViewMatrix)
javascript·webgl·计算机图形学
小林攻城狮12 小时前
使用 Transport 节流解决 Vercel AI SDK 流式渲染卡死问题
前端·react.js
前端缘梦12 小时前
告别 TS 运行时类型漏洞!Zod 完整入门实战教程(前端 / 全栈必备)
前端·react.js·全栈
the_answer12 小时前
Webpack vs Vite 深度对比分析
前端·webpack
转转技术团队12 小时前
验证码识别实战:前端不写页面,改训模型了?
前端
MomentYY12 小时前
Temperature:AI 的“脑洞旋钮”
前端·llm·ai编程
远航_13 小时前
OpenSpec 完整详细介绍
前端·后端
召钱熏13 小时前
状态枚举正确≠渲染正确:一个语音按钮的状态机边界修复实录
android·前端