filter() 方法創(chuàng)建一個新數(shù)組,其中所有元素都通過了由提供的回調(diào)函數(shù)實現(xiàn)的測試。
注意: filter()方法不會更改原始數(shù)組。
array.filter(callback, thisArg)
var age = [1, 30, 39, 29, 10, 13]; var val = age.filter(isAdult); function isAdult(element) { return element >= 18; }測試看看?/?
表格中的數(shù)字指定了完全支持filter()方法的第一個瀏覽器版本:
Method | ![]() | ![]() | ![]() | ![]() | ![]() |
filter() | 是 | 1.5 | 是 | 是 | 9 |
參數(shù) | 描述 |
---|---|
callback | 要為數(shù)組中的每個元素運行的函數(shù)。 函數(shù)參數(shù):
|
thisArg | (可選)值,在執(zhí)行回調(diào)時使用 |
返回值: | 一個具有通過測試的元素的新數(shù)組。如果沒有元素通過測試,則將返回一個空數(shù)組 |
---|---|
JavaScript版本: | ECMAScript 5 |
以下示例使用filter()方法根據(jù)搜索條件過濾數(shù)組內(nèi)容:
var fruits = ['apple', 'mango', 'banana', 'orange', 'grapes']; /** * 基于搜索條件的數(shù)組篩選項(查詢) */ function filterItems(query) { return fruits.filter(function(el) { return el.indexOf(query) > -1; }) } function myFunc(val) { document.getElementById("result").innerHTML = filterItems(val); }測試看看?/?