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

JavaScript基础知识——练习巩固(2)

写一个程序,要求如下

  • 需求1:让用户输入五个有效年龄(0-100之间),放入数组中

    • 必须输入五个有效年龄年龄,如果是无效年龄,则不能放入数组中

  • 需求2:打印出所有成年人的年龄 (数组筛选)

  • 需求3:打印出所有人总年龄 (累加)

  • 需求4:打印出所有人的平均年龄 (累加)

  • 需求5:打印出最大年龄和最小年龄 (最大值)

    <script>1.声明累加数组let arr = []while (arr.length < 5){let num = +prompt(`请输入第${arr.length + 1}个人有效年龄`)// 判断是否有效if( num > 0 && num < 100){// 添加到数组arr.push(num)}}console.log(arr);// 2. 打印输出人的的年龄  年龄 > 18for(let i = 0; i <= arr.length; i++){if(arr[i] > 18){document.write(`已经成人的年龄是:${arr[i]} <br>`)}}// 3.打印出所有人的总年龄(累加)let ageSum = 0for(let i = 0; i <= arr.lenht; i++){ageSum += arr[i]}document.write(`所有人的年龄是:${ageSum} <br>`)// 4.打印出所有人的平均年龄(累加)let average = 0average = ageSum / arr.lengthdocument.write(`所有人的平均年龄是:${average} <br>`)5.打印出最大年龄和最小年龄(最大值) 假设法let max = arr[0]let min = arr[0]for(let i = 1; i < arr.length; i++){if(max < arr[i]){max = arr[i]}if(min > arr[i]){min = arr[i]}}document.write(`最大值是:${max} <br>`)document.write(`最小值是:${min} <br>`)5.打印出最大年龄和最小年龄(最大值) 排序法arr.sort(function (a,b){return a - b;}) // 升序let min = arr[0] let max = arr[arr.length - 1] </script>

 找出数组中 元素为10的下标,有则打印该下标,没有则打印-1

  • 例如: [88,20,10,100,50] 打印 2

  • 例如: [88,20,30,100,50] 打印-1

<script>// 找出数组中 元素为10的下标,有则打印该下标,没有则打印 - 1let arr = [88, 20, 10, 100, 50]let re = -1  // 用于存储结果,默认没有for (let i = 0; i < arr.length; i++) {if (arr[i] === 10) {re = i  //如果找到则把当前索引号赋值给 re, 如果没有找到,则默认的是 -1break // 已经找到就退出}}console.log(re)
</script>

使用for循环 - 求出数组元素的和 [5, 8, 9, 2, 1, 5]

<script>// 遇到数组 先把遍历写出来!!!!!!!!!!!!!!!=> 访问数组里面的单元的值let arr = [5, 8, 9, 2, 1, 5]let sum = 0for (let i = 0; i < arr.length; i ++) {// sum = sum + itemsum += item}console.log(sum) // 30
</script>

 使用for循环 - 求出数组里大于5的i和 [4, 9, 5, 20, 3, 11]

<script>let arr =   [4, 9, 5, 20, 3, 11]for (let i= 0; i < arr.length; i++) {if (arr[i] > 5) {sum += arr[i]}}console.log(sum) </script>

 使用for循环 - 求出班级里同学们平均年龄[15, 19, 21, 33, 18, 24]

    <script>//5.使用for循环-求出班级里同学们平均年龄[15,19,21,33,18,24]let arr = [15,19,21,33,18,24]let ave = 0for(let i = 0; i < arr.length; i++){ave += arr[i]}let aver = ave / arr.lengthdocument.write(aver)</script>

计算[2, 6, 18, 15, 40] 中能被3整除的偶数的和

    <script>// 6.计算[2,6,18,15,40]中能被3整除的偶数的和let arr = [2,6,18,15,40]let counts = 0for(let i = 0; i < arr.length; i++){if( arr[i] % 3 === 0  && arr[i] % 2 === 0){counts += arr[i]}}document.write(counts)</script>

计算[2, 6, 18, 15, 40] 中能被3整除的偶数的个数

    <script>// 7.计算[2,6,18,15,40]中能被3整除的偶数的个数let arr2 = [2,6,18,15,40]let counts1 = 0for(let i = 0; i < arr2.length; i++){if( arr2[i] % 3 === 0  && arr2[i] % 2 === 0){counts1++}}document.write(counts1)</script>

给一个数字数组,该数组中有很多数字0,将不为0的数据存入到一个新的数组中

    <script>// 8.给一个数字数组,该数组中有很多数字0,将不为0的数据存入到一个新的数组中let arr3 = [0,2,3,0,3,0,3,0,5,0]let arr4 = []for(let i = 0; i < arr3.length; i++){if(arr3[i] !== 0){arr4.push(arr3[i])}}document.write(arr4)</script>

 根据用户输入的个数,页面可以渲染对应王者荣耀永雄的个数

思路分析:

  1. 渲染图片比较多,我们可以把图片地址放入数组中,

  2. 图片名称是有序号排列的,比如1.webp 2.webp 此处可以使用循环方式重复渲染图片

  3. 渲染位置? 可以考虑放到 box盒子里写script 即可

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>渲染图片案例</title><style>* {margin: 0;padding: 0;}li {list-style: none;}.box {display: flex;flex-wrap: wrap;width: 540px;margin: 20px auto;}.box li {width: 100px;height: 100px;margin: 0 10px 10px 0;}.box li:nth-child(5n+1) {margin-right: 0;}.box li img {width: 100%;height: 100%;border: 2px solid #258DF2;border-radius: 10px 0 10px 0;}</style>
</head><body><ul class="box"><script>let arr = ['./images/1.webp','./images/2.webp','./images/3.webp','./images/4.webp','./images/5.webp','./images/6.webp','./images/7.webp','./images/8.webp','./images/9.webp','./images/10.webp','./images/11.webp','./images/12.webp','./images/13.webp','./images/14.webp','./images/15.webp','./images/16.webp','./images/17.webp','./images/18.webp','./images/19.webp','./images/20.webp']let num = prompt('请输入显示的英雄个数1~20之间:')for (let i = 0; i < num; i++) {document.write(`<li><img src="${arr[i]}" alt=""></li>`)}</script></ul>
</body></html>

相关文章:

JavaScript基础知识——练习巩固(2)

写一个程序&#xff0c;要求如下 需求1&#xff1a;让用户输入五个有效年龄&#xff08;0-100之间&#xff09;&#xff0c;放入数组中 必须输入五个有效年龄年龄&#xff0c;如果是无效年龄&#xff0c;则不能放入数组中 需求2&#xff1a;打印出所有成年人的年龄 (数组筛选)…...

FutureTask的测试使用和方法执行分析

FutureTask类图如下 java.util.concurrent.FutureTask#run run方法执行逻辑如下 public void run() {if (state ! NEW ||!RUNNER.compareAndSet(this, null, Thread.currentThread()))return;try {Callable<V> c callable;if (c ! null && state NEW) {V res…...

SpringMVC的请求处理

目录 请求映射路径的配置 请求数据的接收 接收Restful风格的数据 什么是Restful风格&#xff1f; 接收上传文件 获取headers头信息和cookie信息 JavaWeb常用对象获取 请求静态资源 注解驱动标签 请求映射路径的配置 请求映射路径的配置主要是通过RequestMapping注解实现…...

260. 只出现一次的数字 III

给你一个整数数组 nums&#xff0c;其中恰好有两个元素只出现一次&#xff0c;其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。 你必须设计并实现线性时间复杂度的算法且仅使用常量额外空间来解决此问题。 示例 1&#xff1a; 输入&…...

家政预约接单系统,家政保洁小程序开发;

家政预约接单系统&#xff0c;家政保洁维修小程序开发&#xff0c;阿姨管理&#xff0c;家政保险&#xff0c;合同管理&#xff0c;资金管理&#xff0c;营销推广等功能&#xff0c;包括&#xff1a;推广、营销、管理、培训、周边服务等等 家政系统详细功能介绍&#xff1a; 家…...

网络安全工程师需要学什么?零基础怎么从入门到精通,看这一篇就够了

网络安全工程师需要学什么&#xff1f;零基础怎么从入门到精通&#xff0c;看这一篇就够了 我发现关于网络安全的学习路线网上有非常多看似高大上却无任何参考意义的回答。大多数的路线都是给了一个大概的框架&#xff0c;告诉你那些东西要考&#xff0c;以及建议了一个学习顺…...

出差学知识No3:ubuntu查询文件大小|文件包大小|磁盘占用情况等

1、查询单个文件占用内存大小2、显示一个目录下所有文件和文件包的大小3、显示ubuntu所有磁盘的占用情况4、查看ubuntu单个包的占用情况 1、查询单个文件占用内存大小 使用指令&#xff1a;ls -lh 文件 2、显示一个目录下所有文件和文件包的大小 指令&#xff1a;du -sh* 3…...

详解cv2.copyMakeBorder函数【OpenCV图像边界填充Python版本】

文章目录 简介函数原型代码示例参考资料 简介 做深度学习图像数据集时&#xff0c;有时候需要调整一张图片的长和宽。如果直接使用cv2.resize函数会造成图像扭曲失真&#xff0c;因此我们可以采取填充图像短边的方法解决这个问题。cv2.copyMakeBorder函数提供了相关操作。本篇…...

前端技术-并发请求

并发请求 代码解释 定义了一个函数 concurRequest&#xff0c;用于并发请求多个 URL 并返回它们的响应结果。 function concurRequest(urls, maxNum) {return new Promise((resolve, reject) > {if (urls.length 0) {resolve([]);return;}const results [];let index …...

面试题-React(十三):React中获取Refs的几种方式

一、Refs的基本概念 Refs是React提供的一种访问DOM元素或组件实例的方式。通过Refs&#xff0c;我们可以在React中获取到底层的DOM节点或组件实例&#xff0c;并进行一些操作。Refs的使用场景包括但不限于&#xff1a;访问DOM属性、调用组件方法、获取输入框的值等。 二、获取…...

Linux CentOS 7升级curl8.4.0使用编译安装方式

1、查看当前版本 # curl --version curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.19.1 Basic ECC zlib/1.2.7 libidn/1.28 libssh2/1.4.3 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps tel…...

探寻JWT的本质:它是什么?它有什么作用?

JWT&#xff08;JSON Web Token&#xff09;是一种基于 JSON 格式的轻量级令牌&#xff08;token&#xff09;协议&#xff0c;它被广泛应用于网络应用程序的身份验证和授权。相较于传统的 session-based 认证机制&#xff0c;JWT 具有更好的扩展性和互操作性&#xff0c;同时也…...

关于雅思听力答案限定字数的解释。

1. No more than three words and/or a number&#xff1a;31&#xff0c;可以填3/2/1个单词&#xff1b;1个数字&#xff1b;3/2/1个单词1个数字 2. No more than three words and/or numbers&#xff1a;3n&#xff0c;可以填3/2/1个单词&#xff1b;n个数字&#xff1b;3/2…...

化工python | CSTR连续搅拌反应器系统

绝热连续搅拌釜反应器 (CSTR) 是过程工业中常见的化学系统。 容器中发生单个一级放热且不可逆的反应 A → B,假定容器始终完全混合。 试剂 A 的入口流以恒定的体积速率进入罐。 产物流B以相同的体积速率连续排出,液体密度恒定。 因此,反应液体的体积是恒定的。 在反应器中发…...

交通物流模型 | 基于自监督学习的交通流预测模型

交通物流模型 | 基于自监督学习的交通流预测模型 在智能交通系统中,准确预测不同时间段的城市交通流量是至关重要的。现有的方法存在两个关键的局限性:1、大多数模型集中预测所有区域的交通流量,而没有考虑空间异质性,即不同区域的交通流量分布可能存在偏差;2、现有模型无…...

343. 整数拆分 96.不同的二叉搜索树

343. 整数拆分 设dp[i]表示拆分 数字i 出来的正整数相乘值最大的值 (i - j) * j,和dp[i - j] * j是获得dp[i]的两种乘法&#xff0c;在里面求最大值可以得到当前dp[i]的最大值&#xff0c;但是这一次的得出的最大值如果赋值给dp[i]&#xff0c;可能没有没赋值的dp[i]大&#…...

Vue3理解(9)

侦听器 1.计算属性允许我们声明性地计算衍生值,而在有些情况下&#xff0c;我们需要状态变化时执行一些方法例如修改DOM。 2.侦测数据源类型&#xff0c;watch的第一个参数可以市不同形式的‘数据源’&#xff0c;它可以市一个ref(包括计算属性)&#xff0c;一个响应式对象&…...

CRM系统中的销售漏斗有什么作用?

随着数字化发展&#xff0c;越来越多的企业使用CRM销售管理系统提高销售管理水平&#xff0c;提升盈利能力。在这个过程中&#xff0c;销售漏斗起到了非常重要的作用。下面就来说说&#xff0c;CRM系统中的销售漏斗有什么作用&#xff1f; 一、销售数据可视化 CRM销售漏斗通过…...

项目(模块1:用户登陆流程分析)

验证登陆点流程...

2023年中国商用服务机器人行业发展概况分析:国产机器人厂商向海外进军[图]

商用服务机器人指在非制造业的商用服务场景中&#xff0c;用来替代或辅助人类进行服务性质工作的机器人&#xff1b;常见的商用场景中&#xff0c;商用服务机器人主要分为终端配送类机器人&#xff0c;商用清洁类机器人&#xff0c;引导讲解类机器人等&#xff0c;被广泛应用在…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能&#xff0c;本节首先介绍如何通过 Docker 快速体验 TDengine&#xff0c;然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker&#xff0c;请使用 安装包的方式快…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

微服务商城-商品微服务

数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...