1 数组
1.1 什么是数组
数组是值的有序集合,其中每个值(元素)都有一个位置(索引),数组的元素可以是任何类型,数组的长度=数组元素个数。
1.2 创建数组的方式
① 直接量方式
var 数组名 = [];
② Array函数方式
var 数组名 = Array(元素1, 元素2, ...);
var 数组名 = Array(10); //创建一个长度为10的数组
注: Array 如果只有一个参数且该参数是number类型,会被认为是指定数组的长度
③ Array构造函数方式
var 数组名 = new Array(元素1, 元素2, ...);
var 数组名 = new Array(10); //创建一个长度为10的数组
注: Array 构造函数方式和 Array 函数方式,规则都是一样的。
1.3 读写数组元素
数组名[元素索引]
- 用于给存在的元素赋值:修改其值;给不存在的元素赋值:将其添加至数组。
- 读取数组中不存在的元素,将返回
undefined。
1.4 稀疏数组
数组中存在没有值的元素。产生原因:① 用不连续的索引给元素赋值;② 将数组长度改为大于之前的长度。应尽量避免稀疏数组。
1.5 数组的遍历
① 使用循环遍历
//推荐使用
for (var i = 0; i < arr.length; i++) {
arr[i];// 获取到数组的元素
}
② 使用for in结构遍历
//for in 遍历针对所有对象类型的数据,不只是针对数组
for (var i in arr) {
arr[i];// 获取到数组的元素
}
1.6 数组元素的添加和删除
① 添加元素
-
利用数组的
length在数组最后添加元素数组名[数组名.length] = 新元素的值; -
使用
push()方法在数组最后添加一个或多个元素数组名.push(新元素的值); 数组名.push(新元素1的值, 新元素2的值, ...); -
使用
unshift()方法在数组前面添加一个或多个元素数组名.unshift(新元素的值); 数组名.unshift(新元素1的值, 新元素2的值, ...); -
使用
splice()在指定位置插入一个或多个元素数组名.splice(索引, 0, 新元素的值);//0 表示只添加不删除 数组名.splice(索引, 0, 新元素1的值,新元素2的值, ...);
② 删除元素
-
通过修改
length删除数组最后 n 个元素数组名.length -= n; 使用
pop()方法删除数组最后一个元素
数组名.pop();//一次只能删除一个元素,如果需要删除多个,则需调用多次
- 使用
shift()方法删除数组第一个元素
数组名.shift();//一次只能删除一个元素,如果需要删除多个,则需调用多次
-
使用
splice()删除指定位置指定数量的元素数组名.splice(index, n); // 从索引是 index 的元素开始删除 n 个元素
1.7 多维数组
数组的元素仍然是数组。
1.8 字符串的数组特性
字符串具有一些数组特性:
① 字符串中的字符也具有索引,通过索引可以读取字符
② 字符串有length,可以获取字符串长度(字符个数)
③ 可以使用循环遍历字符串中所有的字符字符串只是具备一部分数组特性,不是全部
① 无法通过索引修改字符
② 字符串的 length 也无法修改Like-Array 类数组或者伪数组
字符串类似于是由字符组成的数组,具有数组的一部分特性
这样数据就被认为是伪数组