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

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

相关文章:

JavaScript基础练习题(五)

生成一个范围内的随机整数&#xff1a;编写一个函数&#xff0c;接收两个参数&#xff0c;表示范围的最小值和最大值&#xff0c;然后生成一个在这个范围内的随机整数。 生成指定长度的随机字符串&#xff1a;编写一个函数&#xff0c;接收一个参数表示字符串的长度&#xff0…...

flutter项目从创建到运行,以及一些常用的命令

# 创建项目 命令行 flutter create flutter_app &#xff08;这种vsCode软件可用&#xff09; 按下ctrlshiftp&#xff0c; 输入 Flutter: New Project 选择 Application 选择项目存放位置 输入项目名字 点击 enter 完成创建 # 运行项目 1、命令行中运行&#xff1a; cd flutte…...

【Amazon 实验②】Amazon WAF功能增强之使用Cloudfront、Lambda@Edge阻挡攻击

文章目录 一、方案介绍二、架构图三、部署方案1. 进入Cloud9 编辑器&#xff0c;新打开一个teminal2. 克隆代码3. 解绑上一个实验中Cloudfront 分配绑定的防火墙4. 使用CDK部署方案5. CDK部署完成6. 关联LambdaEdge函数 四、方案效果 一、方案介绍 采用 LambdaEdge DynamoDB 架…...

There are 4 missing blocks. The following files may be corrupted

There are 4 missing blocks. The following files may be corrupted Please check the logs or run fsck in order to identify the missing blocks. See the Hadoop FAQ for common causes and potential solutions. 步骤1&#xff0c;检查文件缺失情况 hadoop fsck /tmp/l…...

一起玩儿物联网人工智能小车(ESP32)——13. 用ESP32的GPIO控制智能小车运动起来(一)

摘要&#xff1a;本文更深入的讲述了GPIO的相关知识&#xff0c;并完成了导线连接工作&#xff0c;为下一步的软件开发做好了准备。 通用输入输出端口&#xff08;GPIO&#xff1a;General Purpose Input/Output Port&#xff09;&#xff0c;在前面已经有了初步的介绍&#xf…...

D9741 PWM控制器电路,定时闩锁、短路保护电路,输出基准电压(2.5V) 采用SOP16封装

D9741是一块脉宽调制方三用于也收路像机和笔记本电的等设备上的直流转换器。在便携式的仪器设备上。 主要特点&#xff1a;● 高精度基准电路 ● 定时闩锁、短路保护电路 ● 低电压输入时误操作保护电路 ● 输出基准电…...

【UE5.1】程序化生成Nanite植被

目录 效果 步骤 一、下载Gaea软件和树林资产 二、使用Gaea生成贴图 三、 生成地形 四、生成草地 五、生成树林 六、生成湖泊 七、其它功能介绍 7.1 调整树林生成的面积 7.2 让植物随风飘动 7.3 玩家和植物互动 7.4 雪中树林 7.5 环境音效 效果 步骤 一、下载Ga…...

【软件工程】漫谈增量过程模型:软件开发的逐步之道

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a; 软件工程 ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言&#xff1a; 正文 增量过程模型&#xff08;Incremental Process Model&#xff09; 主要特点和阶段&#xff1a; 优点&#xff1…...

Android Camera

1. 相关的API Android有三套关于摄像头的API(库)&#xff0c;分别是Camera、Camera2和CameraX&#xff0c;其中Camera已废弃&#xff0c;在Android5.0以后推荐使用Camera2和CameraX&#xff0c;Camera2推出是用来替换Camera的&#xff0c;它拥有丰富的API可以为复杂的用例提供…...

Python开发雷点总结

数值运算&#xff08;加减乘除&#xff09; 1. invalid value赋值 当变量本身具有数值属性&#xff08;后续会参加数值运算&#xff09;&#xff0c;对invalid value设置应该为np.nan&#xff0c; 而非None&#xff1b;反之&#xff0c;容易抛出以下错误&#xff1a; TypeEr…...

Linux中磁盘管理与文件系统

目录 一.磁盘基础&#xff1a; 1.磁盘的结构&#xff1a; 2.硬盘的数据结构&#xff1a; 3.硬盘存储容量 &#xff1a; 4.硬盘接口类型&#xff1a; 二.MBR与磁盘分区&#xff1a; 1.MBR的概念&#xff1a; 2.硬盘的分区&#xff1a; 为什么分区&#xff1a; 2.表示&am…...

Vue2+element-ui 实现select选择器结合Tree树形控件实现下拉树效果

效果&#xff1a; DOM部分 &#xff1a; // 设置el-option隐藏的下拉选项&#xff0c;选项显示的是汉字label&#xff0c;值是value // 如果不设置一个下拉选项&#xff0c;下面的树形组件将无法正常使用 <el-form-item label"报警区域" prop"monitorId"…...

LINUX 解决系统卡死:扩大内存交换分区

最近电脑总是卡住&#xff0c;让我很是苦恼。运行程序时发现可能是内存占满之后导致界面卡住。下面是在我16G内存的电脑上折腾的过程与结果&#xff1a; 查看当前的交换内存大小free -m&#xff08;单位&#xff1a;-m选项表示以兆字节&#xff08;MB&#xff09;为单位显示内…...

Vue项目Nginx代理F5刷新出现404问题解决

一.背景 项目用户反馈&#xff0c;F5刷新后&#xff0c;浏览器出现404。最近公司加强网络管理&#xff0c;我记得之前可以刷新&#xff0c;有点怀疑是跟加强网络管理有关。具体原因没有时间去深度跟踪&#xff0c;先百度找到了解决方法&#xff0c;记录一下。 二.解决办法 主…...

关于MybatisPlus自动转化驼峰命名规则配置mapUnderscoreToCamelCase的个人测试和总结

关于MybatisPlus自动转化驼峰命名规则配置mapUnderscoreToCamelCase的个人测试和总结 测试一&#xff1a;没有添加 自动转化的配置&#xff0c;且domain中的属性名称和数据库的字段名称一致测试二&#xff1a;没有添加自动转化配置i&#xff0c;domain属性名userPassword和数据…...

css中的BFC

定义 BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域&#xff0c;只有Block-level box参与&#xff0c; 它规定了内部的Block-level Box如何布局&#xff0c;并且与这个区域外部毫不相干。 涉及概念 box Box 是 CSS 布局的对象…...

音视频类App广告变现如何破局,最大化广告变现收益,让应用增收?

音视频App已然成为了我们日常获取、发布和交换信息的重要方式&#xff0c;在音视频行业不断的拓展中&#xff0c;用户的渗透率提升。 据数据显示&#xff0c;我国网络视听用户的规模已达9亿人次&#xff0c;网民使用率也突破了90%。庞大的市场规模和用户需求吸引了大批开发者和…...

基于llama-index对embedding模型进行微调

QA对话目前是大语言模型的一大应用场景&#xff0c;在QA对话中&#xff0c;由于大语言模型信息的滞后性以及不包含业务知识的特点&#xff0c;我们经常需要外挂知识库来协助大模型解决一些问题。在外挂知识库的过程中&#xff0c;embedding模型的召回效果直接影响到大模型的回答…...

如何本地搭建FastDFS文件服务器并实现远程访问【内网穿透】

文章目录 前言1. 本地搭建FastDFS文件系统1.1 环境安装1.2 安装libfastcommon1.3 安装FastDFS1.4 配置Tracker1.5 配置Storage1.6 测试上传下载1.7 与Nginx整合1.8 安装Nginx1.9 配置Nginx 2. 局域网测试访问FastDFS3. 安装cpolar内网穿透4. 配置公网访问地址5. 固定公网地址5.…...

spring基于Xml管理bean---Ioc依赖注入:对象类型属性赋值(2)----内部bean的引入(bean和bean之间的引入)、(3)级联方式注入

bean创建对象类型赋值方式 第一&#xff1a;外部bean的引入 第二&#xff1a;内部bean的引入 第三&#xff1a;级联属性赋值 文章目录 bean创建对象类型赋值方式对象类型内部bean赋值代码分析总结 对象类型属性级联方式的赋值扩展知识 对象类型内部bean赋值 代码分析 <b…...

MATLAB集成大语言模型:无缝融合AI能力与工程计算生态

1. 项目概述&#xff1a;当MATLAB遇见大语言模型如果你是一位工程师、研究员或者数据分析师&#xff0c;并且你的日常工作离不开MATLAB&#xff0c;那么你很可能已经感受到了AI浪潮的冲击。大语言模型&#xff08;LLMs&#xff09;如ChatGPT、Llama等&#xff0c;正在重塑我们处…...

免费音频编辑终极指南:Audacity如何让专业音频处理变得简单

免费音频编辑终极指南&#xff1a;Audacity如何让专业音频处理变得简单 【免费下载链接】audacity Audio Editor 项目地址: https://gitcode.com/GitHub_Trending/au/audacity 还在为音频编辑软件的高昂价格而烦恼&#xff1f;是否曾因复杂的音频工具而放弃创作&#x…...

AssetStudio终极指南:5步解锁Unity游戏资源的完整实战教程

AssetStudio终极指南&#xff1a;5步解锁Unity游戏资源的完整实战教程 【免费下载链接】AssetStudio AssetStudio - Based on the archived Perfares AssetStudio, I continue Perfares work to keep AssetStudio up-to-date, with support for new Unity versions and additio…...

DIY实验室振荡器:基于Crickit与3D打印的机电一体化实践

1. 项目概述与核心价值在实验室里&#xff0c;振荡器是个再常见不过的设备了&#xff0c;无论是生物培养时的恒温摇床&#xff0c;还是化学实验中的涡旋振荡&#xff0c;其核心任务就一个&#xff1a;让液体或样品动起来&#xff0c;实现均匀混合或加速反应。对于玩3D打印的朋友…...

C语言字符串处理算法:反转、回文检测等实用技巧终极指南

C语言字符串处理算法&#xff1a;反转、回文检测等实用技巧终极指南 【免费下载链接】c Implementation of All ▲lgorithms in C Programming Language 项目地址: https://gitcode.com/gh_mirrors/c3/c 你是否在寻找C语言字符串处理的高效方法&#xff1f;&#x1f914…...

工业级RS-485收发器自主设计:从电路原理到PCB布局的实战指南

1. 项目概述与核心价值 在工业自动化、楼宇控制、能源监控这些领域里&#xff0c;设备之间要“说话”&#xff0c;RS-485总线绝对是那个最可靠、最耐用的“方言”。你可能在PLC、变频器、智能电表或者一堆传感器上见过那两个标着A、B的端子&#xff0c;背后驱动它们的&#xff…...

Discord Bot自动分发+CSV任务编排+状态回写看板——Midjourney批量工作流工业级落地(仅限内部团队验证过)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Discord Bot自动分发CSV任务编排状态回写看板——Midjourney批量工作流工业级落地&#xff08;仅限内部团队验证过&#xff09; 该方案已在 3 个百人级创意协作团队中稳定运行超 180 天&#xff0c;日均…...

2026年国内GEO优化服务商盘点:6家主流选择的实际情况

说明&#xff1a; 本文盘点基于各服务商官网、公开媒体报道、可查询的工商信息整理&#xff0c;所有"案例数据"均来自服务商自我披露。GEO行业整体处于早期阶段&#xff0c;市场上自我标榜"行业第一""全球最强"的说法普遍存在&#xff0c;本文尽…...

Microsoft Defender for Cloud自动化工具大全:49个PowerShell脚本深度解析

Microsoft Defender for Cloud自动化工具大全&#xff1a;49个PowerShell脚本深度解析 【免费下载链接】Microsoft-Defender-for-Cloud Welcome to the Microsoft Defender for Cloud community repository 项目地址: https://gitcode.com/gh_mirrors/mi/Microsoft-Defender-…...

基于Hive的淘宝用户购物行为数据分析及可视化

第1章 绪论1.1 课题背景互联网技术迅猛发展&#xff0c;电子商务平台聚集了庞大的用户数据&#xff0c;其中包含着大量的用户行为信息以及消费习惯。淘宝是中国最大的电子商务平台之一&#xff0c;其用户购物行为数据具有很高的研究价值。在大数据的背景下&#xff0c;怎样对数…...