Метод массивов filter() в JavaScript
Development, Java | Комментировать запись
Метод массивов 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: Javascript