【JavaScript速成之路】JavaScript数组
创始人
2024-05-29 09:38:41
0

在这里插入图片描述

📃个人主页:「小杨」的csdn博客
🔥系列专栏:【JavaScript速成之路】

🐳希望大家多多支持🥰一起进步呀!


文章目录

  • 前言
    • 1,初识数组
      • 1.1,数组
      • 1.2,创建数组
      • 1.3,访问数组
      • 1.4,遍历数组
    • 2,数组操作
      • 2.1,修改数组的长度
      • 2.2,新增或修改数组元素
      • 2.3,筛选数组元素
      • 2.4,删除指定的数组元素
      • 2.5,反转数组元素顺序
    • 3,解构赋值
    • 4,数组排序
      • 4.1,冒泡排序
      • 4.2,插入排序
    • 5,二维数组
      • 5.1,二维数组创建
      • 5.2,二维数组求和
      • 5.3,二维数组转置
  • 结语


前言

📜前言:小杨在上一篇带着大家一起学习了JavaScript中的流程控制,想必大家对JavaScript的流程控制已经有所了解了,那么今天我们将继续带着大家学习一下JavaScript中的数组的相关知识,希望大家收获多多!


1,初识数组

1.1,数组

对于数组是什么的这个问题,你只需要简单了解以下两点:

1,数组(Array)就是一组数据的集合存储在单个变量下的方式。

2,数组(Array)是一种复杂的数据类型,属于Object(对象)类型。


1.2,创建数组

1,利用new Array( )创建数组

var arr1 = new Array();
var arr2 = new Array('A','B','C','D');

2,利用字面量创建数组 [ ]

var arr1 = [];
var arr2 = ['A','B','C','D'];

知识点:

  • 数组元素之间用逗号分隔。
  • 数组中可以存放任意类型的元素。
//在数组中保存各种数据类型
var arr2 = [1,'1',true,null,undefined];//在数组中保存数组
var arr2 = [1,2,[3,4,5],6];

1.3,访问数组

在数组中,每个元素都有索引(或者下标),数组中的元素使用索引来进行访问。

数组中的索引是一个数字,从0开始,到数组长度-1结束。

为了更好地了解数组是如何访问的,示例如下:


示例结果:

image-20221009160636695


1.4,遍历数组

数组遍历就是将数组中的每一个数组元素都访问一遍。

为了更好地理解数组是如何遍历的,示例如下:


示例结果:

image-20221009161705800


2,数组操作

2.1,修改数组的长度

数组名.length 不仅可以获取数组的长度 ,也可以进行数组长度的修改。

修改数组的长度分为两种,即修改后的数组长度大于原数组或者小于原数组这两种。

扩大数组的长度就是扩容,比较容易理解,但要注意当修改后的数组长度小于原数组时,数组会舍弃掉多余的元素。

为了更好地理解上述语法,示例如下:


示例结果:

image-20221009163210952

知识点:当访问数组的空元素时,返回结果为undefined,而在JavaScript中,数组的空元素用empty来表示。

为了更好的理解空元素出现的情况,如下4种情况均会出现空元素:


示例结果:

image-20221009164222981


2.2,新增或修改数组元素

新增或修改数组元素可以通过数组的索引来实现,如果给定的索引大于数组的最大索引,则表示新增元素,否则就表示修改元素。

为了更好地理解上述语法,示例如下:


示例结果:

image-20221009164820328


2.3,筛选数组元素

在日常中,我们经常遇到筛选的需求。例如查询一个班成绩及格的学生人数,这就需要对学生成绩进行筛选。

为了更好的理解数组是如何筛选的,示例如下:


示例结果:

image-20221009165517024


2.4,删除指定的数组元素

删除数组中的指定元素的原理与筛选数组元素相类似,删除数组中的指定元素需要先对数组元素进行筛选操作,然后再进行删除操作。

为了更好地理解数组指定元素是如何删除的,示例如下:


示例结果:

image-20221009165954866


2.5,反转数组元素顺序

反转数组元素,顾名思义就是将原数组元素的顺序反转。

实现数组元素的反转其实比较简单,示例如下:


示例结果:

image-20221009170626912


3,解构赋值

解构赋值是由ES6提供的一种对变量和声明与赋值方式。

若把数组[1,2,3]中的元素分别赋值给a,b,c,传统做法是单独声明变量和赋值。

//传统方式
var arr = [1,2,3];
var a = arr[0];
var b = arr[1];
var c = arr[2];//解构赋值
[a,b,c] = [1,2,3];

上述代码可以看出,传统方式要完成以上功能,需要4行代码,而若使用解构赋值只需1行代码。

解构赋值时,JavaScript会将“=”右侧“[]"中的元素依次赋值给左侧”[]"中的变量。

  1. 当左侧的变量数量少于右侧的元素个数时,则忽略多余的元素。
  2. 当左侧的变量数量多于右侧的元素个数时,则多余的变量会被初始化为undefined。

解构赋值时右侧的内容可以是一个变量名,或者通过解构赋值完成两个变量数值的交换。

为了更好理解解构赋值的使用,示例如下:


示例结果:

image-20221009210431167


4,数组排序

4.1,冒泡排序

冒泡排序过程中,按照要求从小到大排序或从大到小排序,不断比较数组中相邻两个元素的值。

为了更好地理解冒泡排序的实现原理,示例如下:


示例分析动态图:

示例结果:

image-20221009195233929


4.2,插入排序

插入排序是冒泡排序的优化。

实现原理:通过构造有序数组元素的存储,对未排序的数组元素,在已排序的数组中从最后一个元素向第一个元素遍历,找到相应位置并插入。其中,待排序数组的第1个元素会被看作是一个有序的数组 ,从第2个至最后一个元素被看作是一个无序数组。

为了更好地理解插入排序的实现原理,示例如下:


示例分析动态图:

示例结果:

image-20221009195731066


5,二维数组

5.1,二维数组创建

1,利用Array创建数组

var info = new Array(new Array('Tom',18),new Array('Bob',19)
);

2,利用字面量[]创建数组

var nums = [[1,2,3],[4,5,6]];

5.2,二维数组求和

二维数组求和的原理跟一维数组求和一样,就是遍历二维数组的每个元素,然后进行求和操作,而这个需要使用双层循环来控制二维数组的索引值。

为了更好地理解二维数组求和的操作,示例如下:


示例结果:

image-20221009203147396


5.3,二维数组转置

二维数组的转置指的是将二维数组的横向元素保存为纵向元素。

为了理解二维数组的转置,示例如下:


示例结果:

image-20221009202708748


结语

这就是本期博客的全部内容啦,想必大家已经对JavaScript中的数组的相关内容有了全新地认识和理解吧,如果有什么其他的问题无法自己解决,可以在评论区留言哦!

最后,如果你觉得这篇文章写的还不错的话或者有所收获的话,麻烦小伙伴们动动你们的小手,给个三连呗(点赞👍,评论✍,收藏📖),多多支持一下!各位的支持是我最大的动力,后期不断更新优质的内容来帮助大家,一起进步。那我们下期见!
在这里插入图片描述


相关内容

热门资讯

安卓开发新手引导系统,掌握核心... 你刚踏入安卓开发的广阔天地,是不是有点晕头转向呢?别担心,今天我就要给你来一场新手引导大作战,让你从...
国外安卓操作系统,全球视角下的... 你知道吗?在手机的世界里,操作系统可是个大头戏呢!今天,咱们就来聊聊国外那些风头正劲的安卓操作系统,...
安卓17系统窗口调用,Andr... 你知道吗?最近安卓系统又出新花样了!安卓17系统窗口调用,这可是个大招啊!今天,我就要带你深入了解一...
苹果庄安卓通讯系统,通讯系统融... 你知道吗?在手机江湖里,有两个门派可是鼎鼎大名,一个是以苹果为首的iOS,另一个则是安卓阵营。今天,...
安卓系统10寸屏幕,功能与体验... 你有没有想过,拥有一台10寸屏幕的安卓系统设备,会是怎样的体验呢?想象小巧的机身,却拥有强大的功能,...
安卓刷入linux系统,轻松刷... 你有没有想过,你的安卓手机其实可以变身成一个强大的Linux工作站呢?没错,就是那个在服务器上大显神...
安卓系统 看电视软件,便捷观影... 亲爱的手机控们,你是不是也和我一样,对安卓系统上的看电视软件情有独钟?没错,那种随时随地都能追剧的快...
安卓13系统图片备份,随时随地... 亲爱的安卓用户们,你是否在期待着安卓13系统的到来呢?听说这个新系统将会带来许多令人兴奋的新功能,但...
安卓手机系统壁纸大全,海量精美... 你有没有发现,手机屏幕上那一抹色彩,有时候能瞬间提升你的心情呢?没错,说的就是那些精美的壁纸!今天,...
白板 安卓系统内置电脑,融合移... 亲爱的读者,你是否曾想过,在你的安卓手机上,竟然可以变身为一台迷你电脑?没错,这就是今天我要跟你分享...
安卓系统游戏昵称英文,Unlo... 你有没有想过,在安卓系统的游戏世界里,一个独特的昵称能给你带来怎样的不同体验呢?想象当你化身成为一名...
原生安卓6.0系统占用,原生安... 你有没有发现,自从你的手机升级到了原生安卓6.0系统,它的反应速度好像变得不那么敏捷了?别急,今天就...
使命召唤10安卓系统,安卓平台... 亲爱的玩家们,你是否曾在深夜里,手握手机,沉浸在紧张刺激的战场中?今天,我要和你聊聊一款让无数玩家热...
鸣言系统安卓版,畅享智能语音交... 你知道吗?最近我在手机上发现了一个超级酷炫的应用——鸣言系统安卓版!这款应用简直是我的新宠,让我来给...
2020安卓什么系统好,最佳系... 2020年安卓系统哪家强?这个问题可是让不少手机用户头疼不已。毕竟,系统的好坏直接影响到手机的流畅度...
安卓系统有没有捷径,安卓系统快... 你有没有想过,使用安卓系统是不是也能找到一些小窍门,让生活变得更加轻松愉快呢?没错,今天就要来聊聊这...
安卓系统助手推荐软件,解锁手机... 手机里的安卓系统助手可是个宝库,里面藏着各种各样的实用软件。今天,就让我来给你推荐几款超级好用的安卓...
安卓软件集成客服系统,安卓软件... 你有没有发现,现在手机上的安卓软件越来越智能了?它们不仅能帮你解决各种生活琐事,还能提供贴心的客服服...
安卓升鸿蒙系统网卡,网卡驱动适... 你有没有发现,最近你的安卓手机好像有点不一样了?没错,就是那个神秘的鸿蒙系统!听说它已经悄悄地升级了...
安卓系统能看电脑版,安卓系统轻... 你有没有想过,用安卓手机也能轻松浏览电脑上的内容呢?没错,这就是科技的魅力!现在,我就要带你探索安卓...