JavaScript: Функция filter()

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

Что делает функция filter()?


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

Синтаксис:
ВыделитьСинтаксис: filter()
let filteredArray = arr.filter(callback(currentValue[, index[, array]])[, thisArg])

Параметры:
  • arr: Исходный массив.
  • callback: Функция, которая определяет, включать ли элемент в новый массив.
  • currentValue: Текущий элемент массива.
  • index: Индекс текущего элемента.
  • array: Весь исходный массив.
  • thisArg: Необязательный параметр, указывающий значение this внутри функции.

Возвращаемое значение:
  • Новый массив, содержащий только те элементы, которые удовлетворяют условию.

Пример использования


// Исходный массив
let numbers = [1, 2, 3, 4, 5];

// Оставляем только чётные числа
let evenNumbers = numbers.filter(num => num % 2 === 0);

console.log(evenNumbers); // Вывод: [2, 4]

Применение


Функция filter() часто используется для:
  • Фильтрации элементов массива по определённому признаку.
  • Получения подмножества данных для последующей обработки.
  • Удаления нежелательных элементов из массива.

Важные моменты


  • Иммутабельность: Функция filter() не изменяет исходный массив, а возвращает новый.
  • Анонимные функции: В качестве первого аргумента часто используются стрелочные функции, что позволяет гибко настраивать логику фильтрации.
  • Рабочая область: Можно передавать thisArg, чтобы указать значение this внутри функции.

Заключение


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

Автор:  28.11.2025 06:57:43 am