数组的find、findIndex、filter这单个方法都是对数组的查找筛选的方法
find方法:
find用来查找数组中满足某条件的第一个成员,例如:
let arr = [1,2,3,4,5,6,7]
let resultArr = arr.find((item)=>{
return item > 4
})
console.log(resultArr) //5
//接收一个callback函数,传入一个参数并设置筛选条件,通常用来检查数组中是否存在某成员
let resultArr = arr.find((item)=>{
return item > 8
})
console.log(resultArr) //undefined,不存在或找不到就返回undefined
findIndex方法:
使用方法与find相似,查找满足条件的第一个数组成员的下标,与indexof方法也很像
let arr = [1,2,3,4,5,6,7]
let resultArr = arr.findIndex((item)=>{
return item > 3
})
console.log(resultArr) //3 满足条件的是4,而4的下标是3,所以返回3
而在没有满足条件的成员时:
let resultArr = arr.findIndex((item)=>{
return item > 7
})
console.log(resultArr) //-1 与indexof一样,没有满足条件的成员时返回-1
filter方法:
filter用来筛选数组中满足条件的成员,并以数组的方式全部返回
let arr = [1,2,3,4,5,6,7]
let resultArr = arr.filter((item)=>{
return item > 3
})
console.log(resultArr) //[4,5,6,7] 返回所有满足条件的成员
let resultArr = arr.filter((item)=>{
return item > 7
})
console.log(resultArr) //[] 若没有满足条件成员,返回空数组