在 JavaScript 中,filter()也是常常拿來處理陣列資料的方法,可以把它想像成一個濾網,只有通過條件測試(回傳值為 true )的資料才會被取出。
基本語法
主要功能是從原有的陣列中,篩選出條件符合的元素,並將這些元素組成新的陣列後回傳。
const newArray = array.filter((element, index, array)=>{
// 回傳 true 表示保留該元素,false 則捨棄
return condition;
}- element:當前處理元素
- index(選填):當前元素的索引值
- array(選填):呼叫 filter 的原始陣列
filter()的運用
ex1: 篩選出大於 10 的數字
const numbers = [5,12,130,44]
const filtered = numbers.filter(num =>num > 10)
console.log(filtered)ex2: 篩選出物件陣列中的資料
const todos = [
{id:1,task:'寫功課',completed:true},
{id:2,task:'打電動',completed:false},
{id:3,task:'和朋友吃飯',completed:false},
]
const completedTask = todos.filter((todo) => todo.completed)