for循环遍历

1
2
3
4
let a=[1,2,3,4,5]
for(let i=0;i<a.length;i++){
console.log(a[i])
}

for(…in…)

1
2
3
4
let a=[1,2,3,4,5]
for(i in a){
console.log(a[i])
}

for(…of…)

1
2
3
4
let a=[1,2,3,4,5]
for(i of a){
console.log(i)
}

forEach

参数是一个function,function的参数有三个,当前遍历的值,索引,当前的数组

1
2
3
4
let a=[1,2,3,4,5]
a.forEach(x=>{
console.log(x)
})

map

对数组的每一项都执行给定的函数,返回每次函数调用的结果所组成的数组,函数的参数与forEach一致

1
2
3
let a=[1,2,3,4,5]
a.map(x=>x+1)
//[2,3,4,5,6]

filter

让数组每一项都运行给定的函数,并返回函数返回了true的项组成的数组

1
2
3
let a=[1,2,3,4,5]
a.filter(x=>x>3)
//[4,5]

every

让数组的每一项执行给定的函数,如果每一项发挥的都湿true,则返回true,即所有项都满足则返回true,否则false

1
2
3
4
5
let a=[1,2,3,4,5]
a.every(x=>x<6)
//true
a.every(x=>x>2)
//false

some

与every相反,只要有一项是true则返回true

1
2
3
let a=[1,2,3,4,5]
a.some(x=>x<2)
//true

reduce、reduceright

数组的归并方法

1
2
3
4
5
6
7
8
9
10
11
//格式
Array.reduce((pre,next,index,array)=>{

},[number])

//例
let a=[1,2,3,4,5]
a.reduce((pre,next,index,array)=>{
return pre+next
})
//15

参数数组第一项、数组第二项、索引、数组执行完一次后pre都会被上次的结果替换,next则会继续遍历数组,可选参数number可以用来规定pre的初始化,next就是数组第一项,如没有则pre初始化数组第一项,next初始化为数组第二项,reduceright与reduce用法一致,一个是从左往右,一个是从右往左