JavaScrip基础(三):数组
索引数组
内存中连续存储多个数据的数据结构
创建
创建空数组
1.var arr=[];
2.var arr=new Array();
创建包含元素的数组
var arr2=[97,85,79];
var arr3=new Array("Tom","Marry");
创建空数组,再添加元素
var empArry=[];
empArry[0]='Tom';
empArry[0]='Marry';
访问数组中的元素
元素:数组中每个数据都是一个元素
如何访问:通过下标访问,数组名[i]
下标:数组中唯一标识每个元素存储位置的序号
特点:从0开始,连续不重复
数组的GET操作与SET操作
设置数组元素的值--SET
var names=['Tom'];
names[0]='Fiona'; //将值重新赋值
names[1]='Marry'; //添加一个新的元素
console.log(names);
获取数组元素的值--GET
var names=['Tom','Marry','Fiona'];
console.log(names[1]);
注:不会抛出数组下标越界异常
数组length属性
记录了数组中理论上元素个数
length属性的值永远是最大下标+1
var names=['Tom','Marry','Fiona'];
console.log(names.length); //长度为3
var arr2=new Array(10);
console.log(arr2.length); //长度为10
数组的遍历
遍历数组元素,通常选择for循环语句,元素的下标作循环变量
var names=['Tom','Marry','Fiona'];
for(var i=0;i<names.length;i++){
console.log(names[i]);
}
固定套路
- 获取数组最后一个元素:arr[arr.length-1]
- 获取倒数第n个元素:arr[arr.length-n]
- 数字缩容:减小arr.length的数值,会删除结尾的多余元素
三个不限制
- 不限制数组的元素个数:长度可变
- 不限制下标越界
获取元素值:不报错,返回undefined
修改元素值:不报错,自动在指定位置创建新元素,并自动修改length属性为最大下标+1 - 不限制元素的数据类型
关联数组
- 什么是关联数组:可自定义下标名称的数组
- 何时用:只要希望每个元素都有专门的名称时
- 如何:
- 创建空数组
- 向空数组中添加新元素,并自定义下标名称
例子
var bookInfo=[];
bookInfo['bookName']='西游记';
遍历关联数组
用for in循环
for(var key in hash){
key//只是元素的下标名
hash//当前元素值
}
例子
var bookInfo=[];
bookInfo['bookName1']='西游记';
bookInfo['bookName2']='红楼梦';
for(var i in bookInfo){
console.log(i);
console.log(bookInfo[i]);
}
索引数组和关联数组的对比
索引数组 | 关联数组 |
---|---|
以字符串输出 | 不能用字符串输出 |
下标是数字 | 下标是自定义的字符串 |
length属性有效 | length属性失效 |
访问元素,都用数组名["下标"] | |
用for循环遍历 | 用for in循环遍历 |
希望快速查找元素时,用关联数组
本文来自博客园,作者:是小鱼呀,转载请注明原文链接:https://www.cnblogs.com/sophia12138/p/17004086.html