English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Метод 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():
Метод | |||||
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); }Тестирование看看‹/›