Что делает функция filter()?
Функция filter() принимает один обязательный аргумент — функцию, которая определяет, следует ли включить элемент в новый массив. Она возвращает новый массив, содержащий только те элементы, которые удовлетворяют условию.
Синтаксис:
ВыделитьСинтаксис: filter()
let filteredArray = arr.filter(callback(currentValue[, index[, array]])[, thisArg])Параметры:
arr: Исходный массив.callback: Функция, которая определяет, включать ли элемент в новый массив.currentValue: Текущий элемент массива.index: Индекс текущего элемента.array: Весь исходный массив.thisArg: Необязательный параметр, указывающий значениеthisвнутри функции.
Возвращаемое значение:
- Новый массив, содержащий только те элементы, которые удовлетворяют условию.
Пример использования
ВыделитьJavaScript
// Исходный массив
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. Она позволяет быстро и эффективно отбирать нужные элементы, упрощая работу с коллекциями.