~定义方式
let arr=[1,2] //字面量创建
let arr2=new Arrery() //构造函数创建
~间隔推入数组
let arr=[1,2,3]
arr[10]=10
arr
let arr=[1,2,3]
arr[10]=11
for(let i of arr){
console.log(i)
}
~数组的本质
本质上数组是一种特殊的对象,typeof查看其基本类型返回 object
typeof [] //object
数组的特殊性在于,他的键名是按次数排列的整数。
let arr=[1,2,3]
Object.keys(arr)
//['0','1','2']
上面的代码我们可以看到,object的键名方法arr是可以使用的,返回的也是整数
let arr=[1,2,3]
arr[0] //1
arr['0'] //1
按照对象的写法 obj['key'] 括号里必须是字符串,而数组却不需要。之所以可以是非字符串键名转化为字符串
~length属性
通过length控制数字的数据
let arr=[1,2,3]
arr.length=2
arr //[1,2]
如果人为设置的length大于数组实际的长度,数组成员的数量会增加到这个值,新增的位置都是空位
let arr=[1,2,3]
arr.length=10
arr[7] //undefined
~为数组添加属性
数组本质是对象,所以可以为数组添加属性,但这不影响length属性
let arr=[
1,2,3,4
]
arr['a']='ss'
arr['b']='ss'
~ in运算符
检测某个键名是否存在,适用于对象,也适用于数组
let arr=['v',2,4,‘a’]
0 in arr //true
'1' in arr //true
4 in arr //false
数值也会转