Array.filter()
Заполняет массив указанным значением.
Спецификация: ECMAScript 5.1 (ECMA-262)Синтаксис
array.filter(callback(currentValue, index, arr), thisValue);
Параметры
- callback
- Функция обратного вызова, которая будет выполнена один раз для каждого элемента в массиве. Если функция возвращает
true, то элемент остаётся в массиве, еслиfalse, то удаляется. Функция принимает следующие параметры:- currentValue – значение текущего элемента.
- index – индекс массива текущего элемента.
- arr – массив, к которому принадлежит текущий элемент (по которому происходит проход).
- thisValue
- Необязательный параметр. Объект, на который может ссылаться ключевое слово
thisв функцииcallback. Если аргументthisValueопущен, в качестве значенияthisиспользуетсяundefined(в конечном счетеthisбудет зависеть от обычных правил контекста выполнения функции).
Возвращаемое значение
Новый массив, содержащий только те элемен ты массива, для которых функция обратного вызова вернет true.
Описание
Метод filter() создает новый массив и заполняет его элементами массива, для которых функция callback вернет true. Метод filter() не изменяет сам массив (хотя функция callback может делать это). Метод filter() выполняет цикл по индексам массива в порядке возрастания и вызывает callback для каждого элемента.
Если callback вернет true, элемент с индексом i в массиве будет добавлен во вновь созданный массив. После того как метод filter() проверит все элементы массива, он вернет новый массив.
Примеры
В следующем примере метод filter используется для выбора из массива простых чисел, т.е. чисел, которые больше единицы и при этом делятся без остатка только на 1 и на себя:
В следующем примере метод filter получает в качестве аргумента безимянную функцию обратного вызова, которая возвращает из массива элементы типа string:
В следующем примере показано использование необязательного аргумента thisValue, задающего объект, на который может ссылаться ключевое слово this в функции обратного вызова:
Поддержка браузерами
| Метод | |||||||
| filter() | Да | Да | Да | Да | 1.5+ | 9+ | Да |


Комментарии
<code>, несколько строчек кода — в теги<pre><code>...ваш код...</code></pre>.