数组遍历的几个方法
1.for 最传统的方法
var arr=[1,2,3,4,5]
for(var i=0 ;i<arr.length;i++){
console.log(arr[i])
}
// 1
// 2
// 3
// 4
// 5
for ··· in···
var arr=[1,2,3,4,5]
for(var i in arr){
console.log(arr[i] +" "+i)
}
//1 0
//2 1
//3 2
//4 3
//5 4
for ····of
var arr=[1,2,3,4,5]
for(var i of arr){
console.log(i)
}
//1
//2
//3
//4
//5
for···in···和for···of···都可以对数组进行遍历,不过for··in··使用与对象更好
2.forEach
var arr=[1,2,3,4,5,6,,7]
arr.forEach(function(val,index){
console.log(val+" "+index)
})
//1 0
//2 1
//3 2
//4 3
//5 4
//6 5
//7 7
注意:数组中有未定义对值,但是在进行forEach循环的时候没有将未定义的值输出 注意:没有返回一个新数组! 没有返回值!
3.map
遍历数组,并对数组元素进行操作,并将所有操作结果放入数组中并返回该数组
var arr=[1,2,3,4,5]
var arr1=arr.map(function(val){
return val>2
})
console.log(arr1)
// [false, false, true, true, true]
4.some
var arr=[1,2,3,4,5]
arr.some(function(val){
console.log(val)
return val>2
})
// 1
// 2
// 3
some方法用于测试数组中某些元素是否满足测试函数的条件,满足条件的时候some会直接中断循环遍历的进程
5.every
var arr=[1,2,3,4,5]
arr.every(function(val){
console.log(val)
return val>2
})
// 1
every方法和some方法是一样使用的,都是用于测试数组中某些元素是否满足测试函数的条件。只是every使用的时候某个元素不满足条件的时候将会中断循环遍历的进程
6.filter
var arr=[1,2,3,4,5]
var arr1=arr.filter(function(val){
return val >2
})
console.log(arr1)
//[3,4,5]
filter()方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素