当前位置: 首页 > news >正文

JavaScript基础练习题(五)

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

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

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

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

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

代码如下:

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

  1. 生成一个范围内的随机整数:
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. 生成指定长度的随机字符串:
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. 随机打乱数组元素的顺序:
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. 生成随机颜色:
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. 随机选择数组中的元素:
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);

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

http://www.lryc.cn/news/269290.html

相关文章:

  • flutter项目从创建到运行,以及一些常用的命令
  • 【Amazon 实验②】Amazon WAF功能增强之使用Cloudfront、Lambda@Edge阻挡攻击
  • There are 4 missing blocks. The following files may be corrupted
  • 一起玩儿物联网人工智能小车(ESP32)——13. 用ESP32的GPIO控制智能小车运动起来(一)
  • D9741 PWM控制器电路,定时闩锁、短路保护电路,输出基准电压(2.5V) 采用SOP16封装
  • 【UE5.1】程序化生成Nanite植被
  • 【软件工程】漫谈增量过程模型:软件开发的逐步之道
  • Android Camera
  • Python开发雷点总结
  • Linux中磁盘管理与文件系统
  • Vue2+element-ui 实现select选择器结合Tree树形控件实现下拉树效果
  • LINUX 解决系统卡死:扩大内存交换分区
  • Vue项目Nginx代理F5刷新出现404问题解决
  • 关于MybatisPlus自动转化驼峰命名规则配置mapUnderscoreToCamelCase的个人测试和总结
  • css中的BFC
  • 音视频类App广告变现如何破局,最大化广告变现收益,让应用增收?
  • 基于llama-index对embedding模型进行微调
  • 如何本地搭建FastDFS文件服务器并实现远程访问【内网穿透】
  • spring基于Xml管理bean---Ioc依赖注入:对象类型属性赋值(2)----内部bean的引入(bean和bean之间的引入)、(3)级联方式注入
  • Python电能质量扰动信号分类(二)基于CNN模型的一维信号分类
  • 如何解决报错:Another app is currently holding yum lock?
  • electron使用electron-builder进行MacOS的 打包、签名、公证、上架、自动更新
  • RAD Studio 12 安装激活说明及常见问题
  • JavaScript实现视频共享
  • uniapp框架——vue3+uniFilePicker+fastapi实现文件上传(搭建ai项目第二步)
  • 一篇文章带你入门PHP魔术方法
  • 【数据库系统概论】第6章-关系数据库理论
  • 算法设计与分析实验报告-贪心算法
  • Unity读取服务器声音文件
  • 掌握ElasticSearch(一):Elasticsearch安装与配置、Kibana安装