# Filter

filter() - это один из методов массивов в JavaScript. Этот метод позволяет создать новый массив, включающий в себя только те элементы исходного массива, которые удовлетворяют определенному условию, заданному с помощью функции обратного вызова.

Синтаксис: array.filter(callback(element, index, array))

  • array: Исходный массив, который нужно отфильтровать.
  • callback: Функция, которая будет вызываться для каждого элемента массива.
    • element: Текущий элемент массива, который анализируется.
    • index (необязательный): Индекс текущего элемента.
    • array (необязательный): Исходный массив.

# Возвращаемое значение:

filter() создает и возвращает новый массив, содержащий только элементы исходного массива, для которых функция обратного вызова возвращает true.

# Примеры использования filter():

Фильтрация чисел больше заданного порога:

const numbers = [1, 5, 10, 15, 20];
const threshold = 10;
const filteredNumbers = numbers.filter((number) => number > threshold);

console.log(filteredNumbers); // Выведет: [15, 20]

Фильтрация строк, содержащих определенную подстроку:

const words = ["apple", "banana", "cherry", "date"];
const searchTerm = "a";
const filteredWords = words.filter((word) => word.includes(searchTerm));

console.log(filteredWords); // Выведет: ["apple", "banana", "date"]

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

const products = [
  { name: "Apple", price: 1.99 },
  { name: "Banana", price: 0.99 },
  { name: "Cherry", price: 2.49 },
];
const affordableProducts = products.filter((product) => product.price < 2.0);

console.log(affordableProducts); // Выведет: [{ name: "Banana", price: 0.99 }]

# Заключение

filter() полезен для выбора подмножества элементов массива, которые соответствуют определенным критериям, и создания нового массива на основе этих элементов.