JavaScript数组基础:创建、遍历与操作详解
本文详细介绍JavaScript中数组的基本操作,涵盖数组的构成与分类、使用Array对象或字面量创建数组的方法。重点讲解length属性的获取与修改、通过下标访问与遍历元素(包括for、for...in及ES6的for...of),以及元素的添加、修改、删除和ES6解构赋值技巧,帮助开发者掌握数组核心用法。
前言
本文将深入探讨JavaScript中数组的基础操作,数组是许多编程语言中的关键概念,也是学习过程中的一个重要节点。
理解这部分内容将极大简化后续学习,若未能掌握则可能影响后续进展,因此建议仔细阅读。希望读者能从中获得启发,使作者的编写工作更有价值。
一、初识数组
数组的构成:数组由一个或多个元素组成,各元素之间以逗号“,”分隔。
数组元素:每个元素包含“下标”和“值”两部分。
下标:也称为索引,通常为从0开始递增的数字,用于标识元素位置。
值:即元素的具体内容,可以是任意数据类型,如数值、字符串、数组或对象等。

根据维数,数组可分为一维、二维及多维数组。
一维数组:指数组元素的“值”为非数组类型的数据,如上图所示。
二维数组:指数组元素的“值”本身是一个一维数组,如上图所示。

根据维数划分,数组可包括一维、二维及多维数组。
多维数组:当数组的值仍为数组时,即形成多维数组,常用于描述复杂信息结构。
例如,保存班级学生信息时,每个数组元素代表一名学生,而每位学生的姓名、学号、年龄等信息可用一维数组表示,从而通过一个变量规律地存储全班信息,便于开发处理。
二、创建数组
⭐️JavaScript中数组的创建方式主要有:
- 通过实例化Array对象的方式。
- 直接使用“[]”字面量方式。
🍅使用Array对象创建数组
通过实例化Array对象创建数组,需使用new关键字。

🍅使用“[]”创建数组
直接法“[]”与Array()对象的使用方式类似,只需将new Array()替换为[]即可。

- 创建数组时,最后一个元素后的逗号可保留也可省略。
- 直接法“[]”与Array()对象的区别在于,前者可创建含有空存储位置的数组,而后者不能。
三、数组的基本操作
🍅获取数组长度
Array对象提供的length属性用于获取数组长度,其值为最大下标加1。

数组arr2中未赋值的元素会占用空存储位置。
因此,数组的下标依然会递增。从而arr2调用length属性最后的输出结果即为6。
length属性不仅用于获取长度,还可用于修改数组长度。
利用length属性指定数组长度时,存在以下三种情况:

💡若length值大于原元素个数,未赋值的元素将占用空存储位置。

💡若length值等于原元素个数,数组长度保持不变。

💡若length值小于原元素个数,多余元素将被舍弃。

此外,使用Array对象创建数组时,也可直接指定长度。

📌注意
JavaScript中无论以何种方式指定数组长度,均不影响继续添加元素,且length属性值会随之改变。
🍅访问数组元素
数组元素访问方式:“数组名[下标]”。
概念:遍历数组即依次访问所有元素的操作。
- 利用下标遍历数组可使用:for循环(已学)。
- 利用下标遍历数组还可使用:for…in语句。

for…in中的variable指数组下标,object表示数组变量名。若object为对象,for…in也可用于对象遍历。
📌注意
ES6新增for…of语法,可更便捷地遍历数组。

- for…in中的variable指数组下标。
- for…in中的object表示数组变量名。
- 若object为对象,for…in也可用于对象遍历。
🍅元素的添加与修改
元素添加与修改方式:“数组名[下标]”。
提示:与访问数组元素的方式相同。
⭐️添加元素

- 添加数组元素:数组名[下标] = 值。
- 允许下标不按数字顺序连续添加,未设值的元素以空存储位置存在。
- 数组元素保存顺序取决于下标,与添加顺序无关。

⭐️修改元素
修改元素与添加元素用法相同,区别在于修改是为已有值的元素重新赋值。

🍅元素的删除
创建数组后,有时需根据情况删除特定元素值。
例如,保存全班学生信息的多维数组中,若有学生转学,需删除该学生信息。
此时,可利用delete关键字删除指定下标的元素值。
delete关键字仅删除指定下标元素的值,删除后该位置仍占用空存储位置。

🍅解构赋值
除变量声明与赋值外,ES6还提供解构赋值。例如,将数组[1,2,3]分别赋给a、b、c,传统做法需单独声明和赋值。

- 当左侧变量数小于右侧元素数时,忽略多余元素。
- 当左侧变量数大于右侧元素数时,多余变量初始化为undefined。

- 解构赋值右侧内容可为变量。
- 通过解构赋值可完成两个变量数值的交换。
总结
本文介绍了JavaScript数组的基本操作,更多JS数组相关内容请搜索本站历史文章或继续浏览后续文章,感谢支持!
ES6模块化中js文件怎么用import和export交互
2026-11-05 17:00:48
JS读取本地文件时报错或无响应的常见原因
2026-11-05 16:32:31
let、const与var的区别:JavaScript变量声明最佳实践
2026-11-05 14:16:38
JS中直接定义静态二维数组的字面量写法
2026-11-05 14:16:08
JS 怎么查找字符串中所有匹配项的位置
2026-11-05 14:15:53
