在本教程中,我們將借助示例了解 JavaScript Array filter() 方法。
filter()
方法返回一個新數組,其中包含所有通過給定函數定義的測試的元素。
示例
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
// function to check even numbers
function checkEven(number) {
if (number % 2 == 0)
return true;
else
return false;
}
// create a new array by filter even numbers from the numbers array
let evenNumbers = numbers.filter(checkEven);
console.log(evenNumbers);
// Output: [ 2, 4, 6, 8, 10 ]
filter() 語法
用法:
arr.filter(callback(element), thisArg)
這裏,arr
是一個數組。
參數:
filter()
方法包含:
callback
- 對每個數組元素執行的測試函數;返回true
如果元素通過測試,否則false
.它包含:element
- 從數組傳遞的當前元素。
thisArg
(可選)- 執行callback
時用作this
的值。默認情況下,它是undefined
。
返回:
- 返回一個僅包含通過測試的元素的新數組。
注意:
filter()
不會更改原始數組。filter()
不對沒有值的數組元素執行callback
。
示例 1:從 Array 中過濾掉值
const prices = [1800, 2000, null, 3000, 5000, "Thousand", 500, 8000]
function checkPrice(element) {
return element > 2000 && !Number.isNaN(element);
}
let filteredPrices = prices.filter(checkPrice);
console.log(filteredPrices); // [ 3000, 5000, 8000 ]
// using arrow function
let newPrices = prices.filter((price) => (price > 2000 && !Number.isNaN(price)));
console.log(newPrices); // [ 3000, 5000, 8000 ]
輸出
[ 3000, 5000, 8000 ] [ 3000, 5000, 8000 ]
在這裏,所有小於或等於 2000 的數字,以及所有非數字值都被過濾掉。
示例 2:在數組中搜索
const languages = ["JavaScript", "Python", "Ruby", "C", "C++", "Swift", "PHP", "Java"];
function searchFor(arr, query) {
function condition(element) {
return element.toLowerCase().indexOf(query.toLowerCase()) !== -1;
}
return arr.filter(condition);
}
let newArr = searchFor(languages, "ja");
console.log(newArr); // [ 'JavaScript', 'Java' ]
// using arrow function
const searchArr = (arr, query) => arr.filter(element => element.toLowerCase().indexOf(query.toLowerCase()) !== -1);
let newLanguages = searchArr(languages, "p");
console.log(newLanguages); // [ 'JavaScript', 'Python', 'PHP' ]
輸出
[ 'JavaScript', 'Java' ] [ 'JavaScript', 'Python', 'PHP' ]
在這裏,element
和 query
都被轉換為小寫,並且 indexOf()
方法用於檢查 query
是否存在於 element
中。
那些未通過此測試的元素將被過濾掉。
相關用法
- JavaScript Array filter()用法及代碼示例
- JavaScript Array fill()用法及代碼示例
- JavaScript Array find()用法及代碼示例
- JavaScript Array findIndex()用法及代碼示例
- JavaScript Array flatMap()用法及代碼示例
- JavaScript Array flat()用法及代碼示例
- JavaScript Array forEach()用法及代碼示例
- JavaScript Array from()用法及代碼示例
- JavaScript Array length用法及代碼示例
- JavaScript Array isArray()用法及代碼示例
- JavaScript Array values()用法及代碼示例
- JavaScript Array entries()用法及代碼示例
- JavaScript Array includes()用法及代碼示例
- JavaScript Array unshift()用法及代碼示例
- JavaScript Array pop()用法及代碼示例
- JavaScript Array shift()用法及代碼示例
- JavaScript Array some()用法及代碼示例
- JavaScript Array indexOf()用法及代碼示例
- JavaScript Array reverse()用法及代碼示例
- JavaScript Array lastIndexOf()用法及代碼示例
注:本文由純淨天空篩選整理自 Javascript Array filter()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。