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

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

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

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

Синтаксис метода filter()

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

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

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

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

Типичный вариант использования метода .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.

Метод filter() – это лишь один из нескольких методов итерации массивов в JavaScript.

Читайте также: Методы массивов в JavaScript: методы итерации

Tags:

Добавить комментарий