Javascript中有許多內建函數,filter() 就是其中之一。它的作用是從一個陣列中篩選出符合條件的元素並傳回一個新數組。
filter() 的語法如下:
array.filter(function(currentValue, index, arr), thisValue)
參數說明:
filter() 方法接受一個函數作為參數,該函數接受三個參數:當前元素,當前元素的索引和整個數組。函數必須傳回布林值,表示目前元素是否符合條件。如果傳回 true,則該元素將保留在新數組中,反之則會被過濾掉。
讓我們來看一個例子,假設有一個陣列儲存了 1 到 10 的整數。
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
現在我們要從中篩選出所有大於等於 5 的元素。可以透過 filter() 方法來實現:
const result = numbers.filter(function(number) { return number >= 5; }); console.log(result); // 输出 [5, 6, 7, 8, 9, 10]
上述程式碼中,filter() 函數接收一個傳回值為 true 或 false 的函數。在這個函數中,如果目前元素大於等於 5,則傳回 true。反之,如果目前元素小於 5,則傳回 false。最終,保留了符合條件的元素,即大於等於 5 的元素,以一個新數組的形式傳回。
除了定義一個函數之外,還可以使用箭頭函數簡寫:
const result = numbers.filter(number => number >= 5); console.log(result); // 输出 [5, 6, 7, 8, 9, 10]
filter() 方法也可以用於陣列中的物件。假設有一個儲存了多個人資訊的陣列。
const people = [ { name: 'Lucas', age: 25 }, { name: 'Emma', age: 21 }, { name: 'Tom', age: 30 }, { name: 'Jane', age: 18 }, ];
現在我們要篩選出年齡大於等於 25 的人。可以透過filter() 方法來實現:
const result = people.filter(function(person) { return person.age >= 25; }); console.log(result); // 输出 [{ name: 'Lucas', age: 25 }, { name: 'Tom', age: 30 }]
同樣的,我們也可以使用箭頭函數簡寫:
const result = people.filter(person => person.age >= 25); console.log(result); // 输出 [{ name: 'Lucas', age: 25 }, { name: 'Tom', age: 30 }]
在實際開發中,filter() 方法常用於篩選符合條件的數據,如搜尋、過濾、分類等場景。其簡單易用,且可快速實現陣列元素的篩選,可以說是開發中不可或缺的方法之一。
以上是javascript filter實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!