// Tutorial //

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

Published on November 12, 2020
Default avatar
By Ceferino IV Villareal
Developer and author at DigitalOcean.
Русский
Метод массива 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().


Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in our Questions & Answers section, find tutorials and tools that will help you grow as a developer and scale your project or business, and subscribe to topics of interest.

Sign up
About the authors
Default avatar
Developer and author at DigitalOcean.

Still looking for an answer?

Was this helpful?
Leave a comment