Фильтрация массивов с помощью функции Array.filter() в JavaScript
Метод array filter используется в JavaScript для фильтрации элементов массива на основе заданных критериев и создания нового массива, содержащего только элементы, соответствующие этим критериям.
Синтаксис: array.filter(callback, thisArg)
- callback – функция, которая будет вызываться для каждого элемента массива. Она принимает три аргумента: значение текущего элемента, индекс текущего элемента и ссылку на массив.
- thisArg (необязательный) – объект, который будет использоваться в качестве значения this при вызове callback.
Примеры кода:
1. Фильтрация массива по условию "элемент больше 5":
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
let filteredArr = arr.filter(function(element) {
return element > 5;
});
console.log(filteredArr); // [6, 7, 8, 9]
В данном примере метод filter возвращает новый массив, содержащий элементы, которые больше 5. Функция callback возвращает true для всех элементов больше 5, и false для всех остальных элементов.
2. Фильтрация массива по условию "элемент содержит определенную подстроку":
let words = ['hello', 'world', 'abcd', 'javascript'];
let filteredWords = words.filter(function(word) {
return word.includes('l');
});
console.log(filteredWords); // ['hello', 'world']
В этом примере метод filter возвращает новый массив, содержащий только те элементы, которые содержат букву 'l'. Функция callback возвращает true для всех элементов, содержащих 'l', и false для всех остальных элементов.
3. Фильтрация массива объектов по условию "элементы с определенным свойством":
let users = [
{id: 1, name: 'John', age: 25},
{id: 2, name: 'Alice', age: 30},
{id: 3, name: 'Bob', age: 20},
{id: 4, name: 'Mary', age: 35}
];
let filteredUsers = users.filter(function(user) {
return user.age < 30;
});
console.log(filteredUsers);
// [
// {id: 1, name: 'John', age: 25},
// {id: 3, name: 'Bob', age: 20}
// ]
В этом примере метод filter возвращает новый массив, содержащий только те элементы, у которых значение свойства age меньше 30. Функция callback возвращает true для всех объектов, у которых значение свойства age меньше 30, и false для всех остальных.
Все примеры кода демонстрируют простое использование метода filter для фильтрации элементов массива. Он может использоваться для решения многих задач программирования, связанных с фильтрацией данных.