Метод массива filter() в JavaScript

Введение

Метод filter() Array создает новый массив с элементами, которые соответствуют определенным критериям существующего массива:

var numbers = [1, 3, 6, 8, 11];  var lucky = numbers.filter(function(number) {   return number > 7; });  // [ 8, 11 ] 

В примере выше берется массив numbers и возвращается новый массив filtered, содержащий только значения больше семи.

Синтаксис фильтра

var newArray = array.filter(function(item) {   return condition; }); 

Аргумент item ссылается на текущий элемент массива, поскольку filter() сверяет его с условием condition. Этот метод полезен для доступа к свойствам объектов.

Если текущий элемент item соответствует условию, он отправляется в новый массив.

Фильтрация массива объектов

Метод filter() часто применяется для фильтрации массивов объектов по свойствам:

var heroes = [     {name: “Batman”, franchise: “DC”},     {name: “Ironman”, franchise: “Marvel”},     {name: “Thor”, franchise: “Marvel”},     {name: “Superman”, franchise: “DC”} ];  var marvelHeroes =  heroes.filter(function(hero) {     return hero.franchise == “Marvel”; });  // [ {name: “Ironman”, franchise: “Marvel”}, {name: “Thor”, franchise: “Marvel”} ] 

Дополнительные ресурсы

Более подробную информацию по методу filter() можно найти в справочных материалах MDN.

Фильтрация — лишь один из нескольких методов итерации массивов в JavaScript. Прочитайте материал Использование методов итерации массивов в JavaScript, чтобы узнать о других методах, таких как map() и reduce().