Tutorial

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

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().

Creative Commons License