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

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

相关推荐
可乐鸡翅yeah_17 分钟前
hls.js 播放质量埋点实战,采集卡顿、起播、错误指标定位线上用户问题
开发语言·前端·javascript·ecmascript·音视频·m3u8·音视频在线播放
szarron33 分钟前
RF Demo Kit|NanoVNA 射频演示测试板完整上手教程,滤波器、衰减器、SOLT 校准学习板
开发语言·人工智能·学习·php·射频工程·频谱仪
tedcloud12337 分钟前
Wand-Enhancer:如何搭建一套远程开发与测试环境
前端·人工智能·macos·开源·流程图
边境悍匪1 小时前
蜗牛学苑 Java 智能体学习 Day39|SpringAI 会话存储、Function‑Call 工具调用、MCP 思维导图复盘
java·开发语言·spring boot·学习·阿里云
万物智能信息科技1 小时前
RK3568 的多路显示移植—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
linux·开发语言·华为·开源·harmonyos
掘金挖土1 小时前
前端手摸手跑路之 AI 应用开发(三)
前端·后端
蓝悦无人机1 小时前
Qt Design Studio(QDS)4.8.2项目文件结构详解
开发语言·qt·qt creator·qds·项目文件结构·qtc
计算机魔术师1 小时前
OpenAI 宣称破解千禧年难题,数学家却说是「反例搜索」?
前端
志尊宝1 小时前
Vue3 零基础每日笔记(015):条件渲染 v-if 与 v-show——控制 DOM 生死还是控制显隐
前端·vue.js·笔记
yxlalm1 小时前
4.java秒杀项目第四课-后端商品后台接口
java·开发语言