1.forEach场景 :遍历数组
forEach方法特点 :
(1)遍历次数 = 数组长度
(2)本身没有返回值
let arr = [10,20,30,40,50]
let res = arr.forEach((value,index)=>{
console.log(index,value)
})
console.log(res)
2.findIndex场景 : 获取某个元素的下标
forEach方法特点 :
(1)应用场景与indexOf()类似,但是findIndex一般用于对象数组
(2)本身返回值 : 有元素-元素下标 ; 没有元素-固定值 - 1
(4)回调函数内部return :
返回true,循环立即结束,并且 findIndex 方法返回当前index ; 返回false,循环继续,如果遍历完数组还是没找到,则得到默认返回值
let arr = [{ name'xs',age:18},{name'xw',age:20}, {name'xl ',age:19}]
let res = arr.findIndex((value,index)=>{
})
console.log(res)
3.reduce方法 : 给每一个元素执行一次回调
reduce应用场景 : 数组求和 , 求数组最大值
let res = arr.reduce((sum,value,index) => {return sum + value})
- res 返回值是最后一次sum的结果
// sum : 上一次回调的返回值,默认是第一个元素值
// value : 当前元素值,默认从1下标元素开始
// index : 当前下标,默认从1开始
4.map 方法 : 对数组的每一个元素进行映射处理,得到一个全新数组
map方法特点 :
(1)遍历次数 = 数组长度
(2)本身返回值 : 映射之后的新数组
(3)回调函数内部 return : 返回映射之后的值
let arr = [10,20,30,40,50]
let newArr = arr.map( (value,index)=>{
console.log(index,value)
return value*2
})
console.log(newArr)
5.filter 方法 : 筛选数组,找出数组中符合条件的元素
map方法特点 :
(1)遍历次数 = 数组长度
(2)本身返回值 : 映射之后的新数组
(3)回调函数内部 return : 返回true,满足筛选条件,放入新数组中 ; 返回false,不满足筛选条件,不放入新数组
let arr = [10,20,30,40,50]
//找出数组中的偶数
let res = arr.filter(v => v % 2 == 0 )
console.log(res)