1.创建空数组
var arr = new Array() var arr=[]
2.创建时赋值
var arr = new Array(1,2,3) var arr = [1,2,3]
3.创建含有n个元素的数组
var arr = new Array(n)//若只有一个则表示长度n
赋值
arr[i]=23
.length//数组长度
.length固定用法
获取最后一个元素:arr[arr.length-1]
获取倒数n个元素
数组尾追加一个元素:arr[arr.length]=21
数组缩容: arr.length-- arr.length-n arr.length=0;
JS不限制元素的数据类型 不限制元素的个数 不限制下标越界
按值传递:数组传递的是存储的位置
遍历:for(let i=0;i<arr.length;i++){console.log(arr[i])}
关联数组:arr=[] arr['name']=1; 关联数组的长度0
遍历:for(let key in hash){
key:下标
hash[key]
}
数组的API
1.String()
2.join() join()和join(',')相同
3.concat() arr.concat(1,2,3) arr.concat([1,2,3]):打散数组 返回新数组
4.slice() arr.slice(start,end+1) 含头不含尾
5.splice() arr.splice(start,n,)//不打散数组,修改原数组 返回被删除的数组
6.reverse() 数组反转,不是反向排序
7.sort() 数组排序 arr.sort(function(a,b){return a-b})
8.push() 入栈,从尾部,不打散数组
9.pop() 出栈
10.shift()
11.unshift()
12.forEach 修改原数组 arr.forEach((val,index,arr)={}) 不支持break
13.map arr.map(function(val,index,arr)=>{}) 返回新数组 不支持break
14.filter arr.filter((val,index,arr)=>{})
15.reduce arr.reduce((prev,val,index,arr)=>{
return prev+val
},base)
16. every和some 返回true或false