filter() 方法创建一个新数组,其中所有元素都通过了由提供的回调函数实现的测试。
注意: filter()方法不会更改原始数组。
array.filter(callback, thisArg)
var age = [1, 30, 39, 29, 10, 13]; var val = age.filter(isAdult); function isAdult(element) { return element >= 18; }测试看看‹/›
表格中的数字指定了完全支持filter()方法的第一个浏览器版本:
Method | |||||
filter() | 是 | 1.5 | 是 | 是 | 9 |
参数 | 描述 |
---|---|
callback | 要为数组中的每个元素运行的函数。 函数参数:
|
thisArg | (可选)值,在执行回调时使用 |
返回值: | 一个具有通过测试的元素的新数组。如果没有元素通过测试,则将返回一个空数组 |
---|---|
JavaScript版本: | ECMAScript 5 |
以下示例使用filter()方法根据搜索条件过滤数组内容:
var fruits = ['apple', 'mango', 'banana', 'orange', 'grapes']; /** * 基于搜索条件的数组筛选项(查询) */ function filterItems(query) { return fruits.filter(function(el) { return el.indexOf(query) > -1; }) } function myFunc(val) { document.getElementById("result").innerHTML = filterItems(val); }测试看看‹/›