Найти тему
Работяги

map, filter, reduce - три всадника функционального апокалипсиса в JS - часть 2 - filter

Привет, я Дмитрий Канаев, Backend NodeJS разработчик, представляю IT сообщество Работяги. В этом сообществе ты можешь поделиться своими проблемами в разработке и найти ответы на интересующие тебя вопросы из сферы IT. Ссылки на наши другие ресурсы вы можете найти в профиле нашего канала или в конце этой статьи.

Сегодня мы продолжаем цикл статей, в которых мы рассматриваем три важных функциональных «столпа» в JavaScript.

Ссылка на первую часть цикла – https://dzen.ru/a/ZcpVvSfcYBZn8YyK

Сегодня мы разберем, что такое функция filter, для чего она может быть использована, а также немного подробнее рассмотрим ее внутреннее устройство.

В процессе обработки крупных коллекций данных нередко требуется исключить из нее те элементы, которые не задействуются в вычислениях. Допустим, посчитать количество четных положительных чисел в массиве. Вместо того, чтобы загромождать исходный код этой задачи условными операторами if-else, для ее решения можно воспользоваться операцией filter.

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

Рассмотрим одну из возможных реализаций операции filter:

-2

Помимо исходного массива данных, функции, реализующей операцию filter, передается предикатная функция predicate, предназначенная для проверки каждого элемента массива на включение в результирующий массив. Если эта функция возвращает логическое значение true, элемент остается в результирующем массиве, в противном случае он пропускается. Именно поэтому операция filter широко применяется для удаления недостоверных данных из коллекций элементов.

Ссылки на наши ресурсы – ниже:

https://discord.gg/dWMKzXyG

https://t.me/podcust_rabot9g

https://www.youtube.com/@Rabot9gi

https://vk.com/club224443714