一、数组
1、概述
数组 就是将多个元素按一定顺序排放到一个集合中,那么这个集合称之为数组。
数组 也是一种数据类型,属于复杂数据类型(Object)。
2、特点
-
- 存放的元素有序的。
- 可以存放不同的数据类型,但是不推荐这么做。
- 数组的长度可以动态的调整。
二、数组的定义
1、定义空数组
var arr1 = [];
分析:这种方式定义的数组是一个没有任何元素的空数组。
2、定义数组字面量
var arr2 = [1, 3, 4];
分析:使用中括号运算符定义的数组称为数组直接量(数组字面量),里面包含3个数值的数组,数组项以逗号隔开。
3、使用 Array() 构造函数和 new 运算符
var arr1 = new Array(); // 定义一个空数组,同上面第一种方式
var arr2 = new Array(1,3,4); // 定义一个有参数的数组,同上面第二种方式
分析:使用数组字面量创建数组要比使用 Array()函数定义数组速度更快,操作更方便。
4、定义指定长度的数组
var arr3 = new Array(6);
var arr3 = Array(6); // 不使用 new 运算符,两者效果相同
分析:采用这种方式可以创建指定长度的数组,但是没有为元素初始化赋值,这时它们的初始值都是 undefined。
定义数组时,可以省略 new 运算符,直接使用 Array() 函数来实现。
三、数组的操作
1、访问数组中的数据
使用索引下标的方式,能够访问数组中的每一项。
语法格式:
数组名[下标];
注意:
-
-
- 数组的下标是从 0 开始的。
- 如果数组没有对应的下标元素,则返回 undefined。
- 获取到的数组元素相当于一个变量,是可以重新赋值的。
- 数组的下标是从 0 开始的。
-
2、获取数组的长度
数组的长度即数组中元素的个数,使用 length 属性可以得到。
语法格式:
var length = 数组名.length;
扩展:
-
-
- 通过 length 能轻松获取数组最后一项。即 数组名[数组名.length-1] 就是数组最后一项。
-
3、动态改变数组的长度
数组的长度是可以动态改变的,因此使得数组用法更加灵活。
a、给数组添加项
语法格式:
数组名[下标] = value;
注意:
-
-
- 如果有下标对应的值,会用新值把原来的值覆盖;
- 如果下标不存在,会给数组新增一个元素;
- 如果新增的下标与原来的并不连续,则会在跳过下标的位置自动补上 undefined。
- 如果有下标对应的值,会用新值把原来的值覆盖;
-
b、通过 length 属性
语法格式:
数组名.length = value; // value 应该 大于等于 0
注意:
-
-
- 如果 value 大于现在数组的长度,则扩充数组的长度,其他值用 undefined 补上。
- 如果 value 小于现在数组的长度,则截取指定长度的数组,其他元素舍去。
- 如果 value 为 0 ,则清空数组,变为空数组。
-
4、遍历数组
a、正向遍历
语法格式:
for (var i = 0; i < names.length; i++) {
console.log(names[i]);
}
b、反向遍历
语法格式:
for (var i = names.length - 1; i >= 0; i--) {
console.log(names[i]);
}