概念
数组就是一个存储数据的一个容器 一般存储一组数据 类似[1,3,5,8] [‘姓名’,’年龄’,’性别’]
定义数组
**
第一种定义
var arr = [1,2,3,4]
第二种定义
var arr2 = new Array(1,3,9)
数组常用api方法
添加
push 返回当前数组长度 往数组最后一个位置插入元素
var arr = [1]
arr.push("test")
//print [1, "test"] //test在后面
unshift 返回当前数组长度 往数组第一个位置插入元素
var arr = [10]
arr.unshift(90)
//print [90, 10] //90在前面
删除 (传入两个参数就是删除)
splice
var arr = [1,2,3,4,5,6]
//删除4
arr.splice(3,1) //3 表示下标从0开始 1代表长度
//print [1, 2, 3, 5, 6]
pop
var arr = [1, 2, 3, 5, 6];
arr.pop()
//print [1, 2, 3, 5] 把最后一个元素删除了 返回删除的元素
修改 (传入三个参数及以上就是修改或者插入)
splice
var arr = [1,2,3]
arr.splice(1,1,0,1) //第一个参数删除的下标 第二个删除长度 第三个插入的元素 第四个插入的元素
//print [1, 0, 1, 3] 返回删除元素
查找|遍历
for
for(var i = 0; i < 10; i++){
console.log(i)
}
//0 1 2 。。。 10
foreach
arr.forEach(function(it,index,arr){
console.log(it,'it')
console.log(index,'index')
console.log(arr,'arr')
})
//it当前元素 index当前元素下标 arr原数组
1 "it"
0 "index"
1, 2, 3, 4] "arr"
filter 数组过滤
var arr = [1,2,3,10,100,200]
arr.filter(function(it,index,arr){
return it > 10 && it % 200 == 0
})
//print 返回大于10的元素且取余200为0的元素 不会改变原数组
(2) [200]
every 检查数组中每个元素都满足这个条件
if(arr.every(function(it){
return it >= 800 && it <= 1000
})){
alert('yes')
}else{
alert('no')
}
//print yes
some 检查数组 只要有一个元素满足这个条件
var arr = [800, 900, 1000];
arr.some(function(it){
return it > 100
})
//print true
Array.prototype常用的api方法
concat
constructor
copyWithin
entries
every
fill
filter
find
findIndex
flat
flatMap
forEach
includes
indexOf
join
keys
lastIndexOf
map
pop
push
reduce
reduceRight
reverse
shift
slice
some
sort
splice
toLocaleString
toString
unshift
values