数组:
什么是:内存中连续保存多个数据的内存空间
为什么:便于批量管理和操作多个相关的数据
-
创建数组: 有3种创建方法;
(1)创建一个空数组:
var arr=[]; var arr=new Array();
(2)创建数组时就初始化值:var arr=[45,12,34,56]; var arr=new Array(45,12,34,56)
(3)创建n个空元素的数组:
var arr=new Array(n); -
访问数组:
下标(index):数组中唯一标识一个元素位置的序号,从0开始,连续且不重复
索引数组:下标都是数字序号的数组
arr[index]:
使用每个数组的每个元素相当于使用变量数组其实就是连续的变量集合,统一起个名字特殊:
(1)数组不限制元素的数据类型
(2)js数组不限制下标越界赋值:下标越界,不会报错,会在新的位置创建新元素并保存数据 稀疏数组:下标不连续的数组
(3)js数组不限制元素的个数
length属性:记录了数组理论上的元素的个数 修改元素的个数:arr.length--,相当于数组容量-1 length始终是数组的最后一个元素下标+1
-
数组的一些固定套路:
(1)向数组的末尾追加一位元素:
arr[arr.length]=新值
(2)如何获取数组的最后一位元素:
arr[arr.length-1]; 倒数第n个元素 arr[arr.length];
(3)删除数组末尾n个元素:
arr.length-=n
遍历数组:
for(var i=0;i<arr.length;i++){ arr[i]; //当前正在遍历的元素}
关联数组:
什么是:下标可以自定义名称的数组
如何var arr=[]; arr[“name”]=“zhangsan”; arr[“age”]=23;
遍历时:length失效,因为下标是自定义的名称,要用以下方法遍历
for(var key in arr){ //in:会自动一次取出数组中每隔元素的下标名称
//key:变量
arr[key]
}
二维数组:
在一个数组中又是一个数组,也可以称为数组中的数组
var arr=[[1,2,3,4],[5,6,8,9]]; arr[1][0];//取出来的值就是5
二维数组遍历:
for(var i=0;i<arr.length;i++){
for(var j=0;j<arr[i].length;j++){
arr[i][j];//遍历出每个元素
}
}