JavaScript Array filter()

Определение и использование

filter() Метод создает массив, в который填充яются все массивные элементы, прошедшие тест (как функция предоставляется).

Комментарий:filter() Не выполняет функцию для элементов массива без значений.

Комментарий:filter() Не изменяет исходный массив.

Пример

Пример 1

Возврат массива, состоящего из всех значений массива ages, которые равны 18 годам или старше:

var ages = [32, 33, 16, 40];
function checkAdult(age) {
  return age >= 18;
}
function myFunction() {
  document.getElementById("demo").innerHTML = ages.filter(checkAdult);
}

Попробуйте сами

Пример 2

Возврат массива, состоящего из всех значений массива ages, которые больше или равны определенному числу:

<p>Минимальный возраст: <input type="number" id="ageToCheck" value="18"></p>
<button onclick="myFunction()">Попробуйте</button>
<p>Все ages выше минимального значения: <span id="demo"></span></p>
<script>
var ages = [32, 33, 12, 40];
function checkAdult(age) {
  return age >= document.getElementById("ageToCheck").value;
}
function myFunction() {
  document.getElementById("demo").innerHTML = ages.filter(checkAdult);
}
</script>

Попробуйте сами

Синтаксис

массив.filter(function(currentValue, index, arr, thisValue)

значение параметра

Параметры Описание
function(currentValue, index, arr) Обязательно. Функция, выполняемая для каждого элемента массива.

Функциональные параметры:

Параметры Описание
currentValue Обязательно. Значение текущего элемента.
index Опционально. Индекс массива текущего элемента.
arr Опционально. Объект массива, к которому принадлежит текущий элемент.
thisValue

Опционально. Значение, передаваемое функции в качестве её "this" значения.

Если этот параметр пуст, то значение "undefined" будет передано как его "this" значение.

Технические детали

Возвратное значение: Массив, включающий все массивные элементы, прошедшие тест. Если не найдено ни одного элемента, который прошел тест, то возвращается пустой массив.
Версия JavaScript: ECMAScript 5

Поддержка браузера

Все браузеры полностью поддерживают filter() Метод:

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
Поддержка 9.0 Поддержка Поддержка Поддержка Поддержка

Связанные страницы

Учебник:Массив JavaScript

Учебник:Константы массива JavaScript

Учебник:Методы массива JavaScript

Учебник:Сортировка массива JavaScript

Учебник:Итерация массива JavaScript