JavaScript 中 五种迭代数组的方法 every some map filter forEach
- 1.every 和 some
- 2.filter (重点常用)
- 3.map (灵活常用)
- 4.forEach (重点常用)
ECMAScript 提供了 5个对数组的迭代方法
1.every()
2.some()
3.filter()
4.forEach()
5.map()
1.every 和 some
every() 是对数组的每一项进行迭代,然后如果每个数组元素都满足迭代器中设定的条件,那么返回ture,反之返回false
some() 也是对数组的每一项进行迭代,只要数组元素中任意一个满足迭代器中设定的条件,那么就会返回ture,一项也不满足则返回false
let arr = [1,3,5,7,9]
// 判断数组元素中是不是都大于2
let rs1 = arr.every((item,index,array)=>item>2)
console.log(rs1) //false
// 判断数组元素中是不是存在一些元素大于2
let rs2 = arr.some((item,index,array)=>item>2)
console.log(rs2) // true
2.filter (重点常用)
filter从字面意思上来看就是过滤器,它的作用也是类似过滤器
它会对数组的每一项进行迭代遍历,然后如果满足filter迭代器设置的条件,则会将这些满足要求的元素重新组成一个数组返回
let arr = [1,3,5,7,9]
let rs3 = arr.filter((item,index,array)=>item>2)
console.log(rs3) // [3, 5, 7, 9]
3.map (灵活常用)
map比较好玩,它是将数组的每一项进行迭代,然后根据迭代器的结果重新返回一个数组
比如:给定一个数组每个数组元素的值减2,或者给定一个数组每个数组元素变成它的平方
let arr = [1,3,5,7,9]
let rs4 = arr.map((item,index,array)=>item-2)
console.log(rs4) // [-1, 1, 3, 5, 7]
let rs5 = arr.map((item,index,array)=>item*item)
console.log(rs5) // [-1, 1, 3, 5, 7]
4.forEach (重点常用)
forEach 就是对每一项进行迭代遍历,没有返回值,但是可以在遍历的过程中做一些事情
let arr = [1,3,5,7,9]
arr.forEach((item,index,array)=>{
console.log("索引:"+index+" 值:"+item)
})