Day 05 JavaScript 笔记
1 数组
1.1 什么是数组
- 数组是值的有序集合。
2)每个值叫做一个元素。
3)每个元素在数组中有一个位置,以数字表示,称为索引(有时也成为下标)。
4)数组的元素可以是任何类型的数据。
5)数组索引从0开始,最大为2^32-2, 数组最大能容纳4294967294 个元素。
1.2 声明数组的方式
① 直接量方式
[元素1,元素2,元素3...];
② Array 函数方式
Array(元素1,元素2,元素3...);
Array(10); //声明一个拥有10个元素的数组
注意: Array 如果只有一个参数,且该参数是number,该参数会被当做数组元素的个数
③ Array 构造函数方式
new Array(元素1,元素2,元素3...);
new Array(10); //声明一个拥有10个元素的数组
注意: new Array() 和 Array() 相关规则完全一致。
1.3 数组元素的读写
//1、通过索引读取数组中的元素,如果读取不存在的元素会得到 undefined
arr[4];
//2、通过索引给数组的元素重新赋值,如果给不存在的元素赋值会给数组新增一个元素。
arr[2] = "哈哈";
//3、length 可以获取数组的长度(数组中元素的格式),length 的值还可以修改(可能会导致数组被截取)
arr.length;
1.4 稀疏数组
- 数组要求元素的索引必须是连续的数字。
- 如果出现有些元素没有值是空的,这样的数组就是稀疏数组。
- 如果读取空的元素的值,会得到 undefined (注:空的元素值就是空的,只是在读取该元素自动得到 undefined )。
- 产生稀疏数组的情况:① 使用索引赋值,与前面的索引不连续;② 修改数组的length ,给了较大的值; 注意: 要尽量避免稀疏数组。
1.5 数组的遍历(迭代)
// 使用 for 循环遍历数组 推荐方式
for (var i = 0; i < 数组.length; i ++) {
数组[i]; // 读取到数组的每个元素
}
// 使用 for in 结构比遍历数组 不推荐
for (var i in 数组) {
数组[i]; // 读取到数组的每个元素
}
1.6 数组元素的添加和删除
① 添加元素
1. 指定下一个索引,给数组添加元素,可以利用 数组.length
arr[arr.length] = '值';
2. 使用 push() 方法在数组的后面追加一个或多个元素
arr.push(值);
arr.push(值1,值2..,)
3. 使用 unshift() 方法在数组的最前面添加一个或多个元素
arr.unshift(值);
arr.unshift(值1,值2...)
4. 使用 splice() 方法在指定的位置插入一个或多个元素
arr.splice(位置, 0, 值);
arr.splice(位置, 0, 值1, 值2 ...)
②删除元素
1. 利用 length 删除数组的后几个元素
arr.length -= n; // 删除后n个元素
2. 使用 pop() 删除数组最后一个元素
arr.pop();
3. 使用 shift() 删除数组的第一个元素
arr.shift();
4. 使用 splice() 删除指定位置指定数量的元素
arr.splice(位置, 要删除的数量)
1.7 多维数组
[
['张奶奶', '柳奶奶', '牛那年'],
[100, 200, 300, 400, 500],
['刘姥姥', '马姥姥'],
[
['a', 'b', 'c', 'd'],
['A', 'B', 'C', 'D'],
]
];
1.8 字符串的数组特性
字符串与数组有相似的结构,字符串是由字符组成的串,每个字符类似于数组的元素。
字符串具有以下特性:
1、字符串具有 length 属性,可以获取字符串长度(字符串中字符的个数)
2、使用 [] 可以指定索引可以读取字符串中的某个字符。
3、使用for 循环遍历字符串中的每个字符。
字符串只具备部分数组的特性:
1、字符串无法像数组那样修改其中的某个字符。
2、字符串的 length 也不能修改。