JS-数组

1 数组 Array

1.1 什么是数组

1. 数组是值的有序集合
2. 组成数组的成员(值)称为元素, 元素可以是任意类型的数据
3. 每个元素有个位置,位置使用数字表示,称为索引(小标),索引是连续的数字,从 0 开始
4. 数组索引从 0 开始, 最大为 2^32-2,数组最大能容纳 4294967294 个元素。

1.2 创建数组的方式

① 直接量方式
[];		// 空数组
[100, 45.101, '高小乐', false, null, undefined, [100,200,300]];
② Array 函数方式
Array();            // 创建空数组
Array(200,300,'Hello', '高小乐', [10,20,03]);	  // 创建了具有5个元素的数组
Array(17);			// 创建了具有17个元素的数组,每个元素没有值
Array('hello');     // 创建了具有1个元素的数组
如果 Array 函数只有一个参数且是个数字,该参数会被认为是数组中元素的个数
③ Array 构造函数方式
new Array();            // 创建空数组
new Array(200,300,'Hello', '高小乐', [10,20,03]);	  // 创建了具有5个元素的数组
new Array(17);			// 创建了具有17个元素的数组,每个元素没有值
new Array('hello');     // 创建了具有1个元素的数组
Array 构造函数的规则与 Array 函数一致!

1.3 数组元素的读写

① 读取数组元素的值
数组[索引]

读取不存在的元素的值,会自动得到 undefined。

② 修改数组元素的值
数组[索引] = 新值;

给不存在的元素赋值,会添加该元素作为新元素。

1.4 稀疏数组

1. 什么是稀疏数组
   如果数组中存在没有值的元素,该数组就是稀疏数组
   
2. 哪些方式可能会产生稀疏数组
   ① 给数组添加新元素,索引与前面不连续
   ② 使用 Array函数或构造函数方式创建数组,只有一个参数且是数字
   ③ 修改数组的 length 属性,值比原来的大

1.5 数组的遍历(迭代)

① 使用循环结构进行遍历(推荐)
for (var i = 0; i < 数组.length; i ++) {
    i;  	  // 作为索引
    数组[i];   // 元素的值
}
② 使用 for in 结构
for (var i in 数组) {
     i;  	  // 作为索引
     数组[i];   // 元素的值
}

1.6 数组元素的添加和删除

① 添加元素
1. 使用 数组.length 作为索引添加元素
   数组[数组.length] = 新元素

2. push() 方法在数组后面添加一个或多个新元素
   数组.push(新元素);
   数组.push(新元素1, 新元素2...);

3. unshift() 方法在数组前面添加一个或多个新元素
   数组.unshift(新元素);
   数组.unshift(新元素1, 新元素2...);

4. splice() 方法指定位置添加一个或多个新元素
   数组.splice(索引, 0, 新元素)
   数组.splice(索引, 0, 新元素1, 新元素2...)
② 删除元素
1. 数组.length -= n;  删除后n个元素
2. 数组.pop()		删除最后一个元素,一次只能删除一个
3. 数组.shift()	删除第一个元素,一次只能删除一个
4. 数组.splice(索引,数量);   删除指定位置指定数量的元素

1.7 多维数组

如果数组的元素还是数组,该数组可以称为多维数组
[
    ['广州', '深圳', '佛山', '东莞', '惠州'],
    ['南京', '苏州', '徐州', '无锡', '南通'],
    ['济南', '青岛', '烟台', '潍坊', '淄博'],
    ['杭州', '宁波', '温州', '绍兴', '湖州']
];

1.8 字符串的数组特性

1. 字符串具有一部分数组特性
   有lenght属性,可以读取到字符串的长度; 但是length的值不能像数组一样修改
   可以通过索引读取到某个字符,但是不能修改单个字符
2. 字符串这种具有一部分数组特性但又不是数组的数据,统称为类数组(伪数组 Like-Array)   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值