**\*\*数组数据类型\*\***
==>也是复杂类型 Array
==>一个盒子:存储一堆数据
==>不是按照键值对存储
==>按照索引进行存储(序号)
数组的创建
1、字面量创建
==>var arr=[]
==>创建的时候添加成员
==>直接写在中括号里面,多个数据用逗号分隔
2、内置构造函数创建
==>js 提供了一个内置构造函数 Array
==>var arr = new Array()
==>传递一个正整数表示数组的长度
==>var arr = new Array(10) 数组的长度为 10
==>传递多个数据
==>>每一个数据都是放在数组里面的数据,没有表示数组长度的数据
**数组的操作**
length 属性
==>是一个读写属性
->读:获取数组的长度
->写:设置数组的长度
==>当设置的比本身长度小,就相当于删除
==>当设置的比本身长度大,多出来的就用空补齐
var arr=[1,2,3]
arr.length=1
console.log(arr)//1
数组的排列
==>按照索引进行排列
==>索引:
-> 从 0 开始,依次+1
-> 最后一位索引,length-1
==>读:读取到指定索引位置的数据
->如果有这个索引位置,就是这个位置的数据
var arr=[1,2,3]
console.log(arr[2]) //3
->如果有这个索引位置,那么就是 undefined
var arr=[1,2,3]
console.log(arr[3])// undefined
==>写:设置指定索引位置的数据
->如果有这个索引位置,给这个索引位置设置
->如果没有这个索引位置,就添加
->如果超出位置太多,中间就用空补齐
数组的遍历
for (var i=0;i<arr.length;i++){
console.log(arr[i])
}
数组也是一个对象
==>把数组当成对象使用,不占用 length 位置,成员不影响数组的遍历
==>一般不当对象使用
var arr=[1,2,3]
arr.str=123
arr['num']=456
console.log(arr)//1,2,3,123,456
for in 循环
==>使用 for in 循环遍历数组时
->里面的索引位置,每一个 key 都可以遍历出来
var arr=[1,2,3]
arr.str=123
arr['num']=456
for (var key in arr){
console.log(arr[key])
}