16JS07——数组

news2024/11/18 5:54:44

目标:
1、数组的概念
2、创建数组
3、获取数组中的元素
4、遍历数组
5、数组中新增元素
6、数组案例

一、数组的概念

数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。数组是一种将一组数据存储在单个变量名下的优雅方式。
请添加图片描述

二、创建数组

2.1 数组的创建方式

JS中创建数组的两种方式:
· 利用new创建数组
· 利用数组字面量创建数字(常用)

2.2 利用new创建数组

在这里插入图片描述
暂时了解,学完对象再详细研究

2.3 利用数组字面量创建数字(最常用)

在这里插入图片描述
· 数组里面的数据称为 数组元素,用逗号隔开。
· 数组的初始化: 声明数组并赋值

2.4 数组元素的类型

数组中可以存放任意类型的数据,例如字符串、数字、布尔值等
在这里插入图片描述

三、获取数组中的元素

3.1 数组的索引

索引(下标):用来访问数组元素的序号(数组下标从0开始)
在这里插入图片描述

四、遍历数组

遍历数组就是把数组元素从头到尾访问一次
在这里插入图片描述
1.因为我们的数组索引号从0开始 ,所以i必须从开始 i<3
2.输出的时候 arr[i] i计数器当索引号来用

4.1 数组的长度

使用“数组名.length”可以访问数组元素的数量(数组长度)
在这里插入图片描述
· 数组的长度是元素个数,不要跟索引号混淆
· arr.length动态监测数组元素的个数

案例1: 求数组中的最大值
案例分析:
1、声明一个保存最大元素的变量max。
2、默认最大值可以取数组中的第一个元素。
3、遍历这个数组,把里面每个数组元素和max相比较。
4、如果这个数组元素大于max就把这个数组元素存到max里面,否则继续下一轮比较。
5、最后输出这个max。
在这里插入图片描述
案例2: 数组转换为分隔字符串
在这里插入图片描述
· 需要一个新变量用于存放转换完的字符串str。
· 遍历原来的数组,分别把里面数据取出来,加到字符串里面。
· 同时在后面多加一个分隔符。
在这里插入图片描述

五、数组中新增元素

可以通过修改length长度以及索引号增加数组元素

5.1 通过修改length长度新增数组元素

· 可以通过修改length长度来实现数组扩容的目的
· length属性是可读写的
在这里插入图片描述

5.2 通过修改数组索引新增数组元素(最常用)

· 可以通过修改数组索引的方式追加数组元素
· 不能直接给数组名赋值,否则会覆盖掉以前的数据
在这里插入图片描述
案例1: 新建一个数组,里面存放10个整数(1-10)
核心原理:使用循环来追加数组。
案例分析:
1、使用循环来追加数组。声明一个空数组arr。
2、循环中的计数器i可以作为数组元素存入。
3、由于数组的索引号是从0开始的,因此计数器从0开始更合适,存入的数组元素要+1
在这里插入图片描述
案例2: 筛选数组
要求:将数组[2,0,6,77,0,52,0,25,7]中大于等于10的元素选出来,放入新数组。
在这里插入图片描述
在这里插入图片描述

六、数组案例

6.1 删除指定的数组元素

要求:将数组[2,0,6,1,77,0,52,0,25,7]中的0去掉后,行程一个不包含0的新数组。
案例分析:
1、需要一个新数组用于存放筛选之后的数据。
2、遍历原来的数组,把不是0的数据添加到新数组里面(此时要注意采用数组名+索引的格式接收数据)。
3、新数组里面的个数,用length不断累加。
在这里插入图片描述

6.2 反转数组

要求:将数组[‘red’,‘green’,‘blue’,‘pink’,‘purple’]的内容反过来存放。
输出:[‘purple’,‘pink’,‘blue’,‘green’,'red]
在这里插入图片描述
1、声明一个新数组 newArr
2、把旧数组索引号第4个取过来(arr.length-1),给新数组索引号第0个元素(newArr.length)
3、我们采取 递减的方式 i–
在这里插入图片描述

6.3 数组排序(冒泡排序)

冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。

复习:交换两个变量
在这里插入图片描述
案例分析:
在这里插入图片描述
代码:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/592365.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flink从入门到精通之-12Flink CEP

Flink从入门到精通之-12Flink CEP 在 Flink 的学习过程中&#xff0c;从基本原理和核心层 DataStream API 到底层的处理函数、再到应用层的 Table API 和 SQL&#xff0c;我们已经掌握了 Flink 编程的各种手段&#xff0c;可以应对实际应用开发的各种需求了。 在大数据分析领域…

lecory 波形二进制文件头(.trc)定义

1.文件头&#xff0c;从0字节开始 byte[] lecroy_trc_header new byte[]{0x23,0x39,0x30,0x30,0x32,0x30,0x30,0x30,0x31,0x34,0x34,0x57,0x41,0x56,0x45,0x44,0x45,0x53,0x43,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4C,0x45,0x43,0x52,0x4F,0x59,0x5F,0x32,0x5F,0x33,0x…

【爬虫第四章】 爬虫工具介绍

预计更新一、 爬虫技术概述 1.1 什么是爬虫技术 1.2 爬虫技术的应用领域 1.3 爬虫技术的工作原理 二、 网络协议和HTTP协议 2.1 网络协议概述 2.2 HTTP协议介绍 2.3 HTTP请求和响应 三、 Python基础 3.1 Python语言概述 3.2 Python的基本数据类型 3.3 Python的流程控制语句 3…

Hack The Box - Crocodile关卡

TASK 1 任务 1 What Nmap scanning switch employs the use of default scripts during a scan? 哪个 Nmap 扫描开关在扫描期间使用默认脚本&#xff1f; -sCTASK 2 任务 2 What service version is found to be running on port 21? 发现端口 21 上运行的服务版本是什么&…

人员定位系统的功能及在不同领域的应用

人员定位系统是实时定位系统&#xff08;RTLS&#xff09;的一种&#xff0c;是用于跟踪人员位置的软硬件一体化系统。它使用无线通信技术和传感器来获取位置数据&#xff0c;并将其发送到监控中心或移动设备。它在多个领域使用&#xff0c;包括工业、医疗保健、军事、物流等。…

【网络】· 路由器中配置单臂路由和DHCP,VTP原理

目录 &#x1f349;单臂路由的工作原理 &#x1f95d;交换机配置 &#x1f95d;路由器配置 &#x1f349;路由器配置DHCP &#x1f95d;配置实例 &#x1f95d;路由器配置 &#x1f95d;验证 &#x1f349;VTP工作原理 &#x1f95d;VTP模式 &#x1f95d;VTP通告 &#x1f95d…

基于多动作深度强化学习的柔性车间调度研究(Python代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Hive部署远程模式

远程模式 简介 将hive中的相关进程比如hiveserver2或者metastore这样的进程单独开启&#xff0c;使用客户端工具或者命令行进行远程连接这样的服务&#xff0c;即远程模式。客户端可以在任何机器上&#xff0c;只要连接到这个server&#xff0c;就可以进行操作。客户端可以不…

【1130. 叶值的最小代价生成树】

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 给你一个正整数数组 arr&#xff0c;考虑所有满足以下条件的二叉树&#xff1a; 每个节点都有 0 个或是 2 个子节点。数组 arr 中的值与树的中序遍历中每个叶节点的值一一对应。每个非叶节点的值等于…

用arcgis for javascript 开发一个简单的二维地图(入门案例)

效果如图&#xff1a; 一、引入arcgis <link rel"stylesheet" href"https://js.arcgis.com/4.26/esri/themes/light/main.css" /> <script src"https://js.arcgis.com/4.26/"></script>2.加载模块 使用第二个标记从 API 加…

第四期:栈与队列的交换游戏

目录 1. 用队列实现栈2. 用栈实现队列3. 答案3.1 用队列实现栈3.2 用栈实现队列 PS&#xff1a;每道题解题方法不唯一&#xff0c;欢迎讨论&#xff01;每道题后都有解析帮助你分析做题&#xff0c;答案在最下面&#xff0c;关注博主每天持续更新。 1. 用队列实现栈 题目描述 …

RISC-V IDE MRS使用笔记(八):实现局域网下的远程调试功能

RISC-V IDE MRS使用笔记(八)&#xff1a;实现局域网下的远程调试功能 1.原理介绍 MRS调试时上位机与硬件的通信基于gdb客户端与服务端的连接。调试时&#xff0c;首先启动openocd以挂载gdbserver的服务到指定端口上。通信建立后&#xff0c;监听到界面操作后以gdb指令的形式发…

Mapbox字体切片工具fontnik部署与使用

我们在使用Mapbox的时候,不同的图层可以配置不同的字体。Mapbox主要通过分片加载SDF格式字体的方式,将比较大的字体文件传输到前端渲染使用。fontnik可以将字体文件也制作成pbf切片文件,在访问的时候,图中大括号的位置,style中的glyphs,需要根据实际字体和切片索引进行替…

基于html+css的图展示101

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

硬件速攻-SG90舵机(180和360)

外观 180度和360度的区别 180度的舵机可以控制角度 360度的舵机只能控制正反转和速度 驱动逻辑 180度 t 0.5ms——————转动 0 t 1.0ms——————转动 45 t 1.5ms——————转动 90 t 2.0ms——————转动 135 t 2.5ms——————转动180 360度 t 0.5ms—…

微信小程序授权给第三方平台后,“消息与事件接收URL“接收不到客服消息

记录微信小程序授权第三方平台遇到的问题 问题表现为&#xff1a;微信小程序授权给第三方平台后&#xff0c;在小程序客服发送消息&#xff0c;消息与事件接收URL接收不到客服消息 小程序授权配置如下&#xff1a; 1、小程序已授权第三方平台“小程序客服管理”权限 2、小程…

韧性数据安全体系缘起与三个目标 |CEO专栏

今年4月&#xff0c;美创科技在数据安全领域的新探索——“韧性”数据安全防护体系框架正式发布亮相。 为帮您更深入了解“韧性数据安全”&#xff0c;我们特别推出专栏“构建适应性进化的韧性数据安全体系”&#xff0c;CEO柳遵梁亲自执笔&#xff0c;进行系列解读分享。 首期…

4.4. 对象序列化与反序列化

在本节中&#xff0c;我们将详细讨论Java中的对象序列化与反序列化概念、使用方法以及实例。对象序列化是将对象的状态信息转换为字节流的过程&#xff0c;而反序列化则相反&#xff0c;是将字节流恢复为对象的过程。 4.4.1 为什么需要对象序列化&#xff1f; 对象序列化的主…

SDN笔记

SDN是软件定义网络的简称&#xff0c;在SDN中&#xff0c;网络的控制面与数据面分离&#xff0c;并且通过中心控制器进行统一管理。SDN的主要目标是提高网络的灵活性、可编程性和智能化程度&#xff0c;从而更好地适应不断变化的业务需求。SDN可以通过控制器来管理网络设备&…

Day57【动态规划】647.回文子串、516.最长回文子序列

647.回文子串 力扣题目链接/文章讲解 视频讲解 1、确定 dp 数组下标及值含义 dp[i][j]&#xff1a;表示区间范围为 [i, j] 的子串是否为回文串&#xff08;j > i&#xff09; 这样定义才方便我们的递推&#xff01;怎么想到的&#xff1f;回文串需要对比串的两端&#…