數組的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) //[] 若沒有滿足條件成員,返回空數組