Метод filter() в JavaScript: Фильтрация массивов
JavaScript

Метод filter() в JavaScript: Фильтрация массивов

Razilator

Метод filter() является одним из основных методов массивов в JavaScript. Он позволяет легко фильтровать элементы массива на основе заданного условия. В этой статье мы рассмотрим, как использовать метод filter() с примерами и объяснениями.

Что такое метод filter()

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

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

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

Синтаксис метода filter() выглядит следующим образом:

const filteredArray = array.filter(callback);

Где:

  • array - исходный массив, который нужно отфильтровать.
  • callback - функция, которая выполняет проверку для каждого элемента и возвращает true или false в зависимости от результата проверки.

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

Давайте рассмотрим несколько примеров, чтобы лучше понять, как работает метод filter().

Фильтрация числового массива

index.js
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

const evenNumbers = numbers.filter(function(number) {
  return number % 2 === 0;
});

console.log(evenNumbers); // Выводит: [2, 4, 6, 8, 10]

В этом примере мы создаем новый массив evenNumbers, который содержит только четные числа из исходного массива numbers. Функция обратного вызова проверяет каждое число и возвращает true, если оно является четным.

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

index.js
const products = [
  { name: 'Apple', category: 'Fruit' },
  { name: 'Carrot', category: 'Vegetable' },
  { name: 'Orange', category: 'Fruit' },
  { name: 'Broccoli', category: 'Vegetable' },
  { name: 'Banana', category: 'Fruit' }
];

const fruits = products.filter(function(product) {
  return product.category === 'Fruit';
});

console.log(fruits);

/*
Выводит:
[
  { name: 'Apple', category: 'Fruit' },
  { name: 'Orange', category: 'Fruit' },
  { name: 'Banana', category: 'Fruit' }
]
*/

В этом примере мы создаем новый массив fruits, который содержит только фрукты из исходного массива products. Функция обратного вызова проверяет каждый объект и возвращает true, если его свойство category равно Fruit.

Заключение

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

Не бойтесь экспериментировать с методом filter() и применять его в своих проектах для эффективной фильтрации данных в массивах.

;