PROG_WAY_BLOG Telegram 110
​​Итерирование по сущностям: filter

Код из примеров очень сложно читать в самом Telegram из-за его размера, так что все примеры для простоты я перенёс в телеграф.

Ранее я уже рассматривал методы итерирования по массиву map и reduce. Предлагаю дополнить этот список методом filter.

1. filter возвращает новый массив без изменения старого
2. Параметром принимает callback, который должен вернуть значение типа boolean или значение, которое будет преобразовано к boolean, например пустую строку
3. В новый массив попадут все значения, для которых функция callback вернула значение, подобное true

Например, необходимо получить список всех положительных чётных чисел из списка (пример 1)
Или из списка customers нужно получить всех покупателей, которые подтвердили свой аккаунт (пример 2)
В результате получим два искомых покупателя. То есть из объекта даже можно возвращать одно из полей, не применяя к нему никаких вычислений.

Полная сигнатура метода:

filter(function callback(element, index, array) { ... }, thisArg)

Где callback - функция, а thisArg - значение, которое будет использовано как this в callback функции.

И filter, как метод, можно использовать в цепочке, тем самым оформляя решения крайне читабельно и красиво, например:
Написать функцию, которая на вход получает массив слов, а возвращает общую длину всех слов палиндромов. Пример сказочный, но допустим (пример 3)

Комбинацией трёх этих методов мы реализуем функцию, которая даст нам правильный ответ.

Чаще всего хватает одного метода или комбинации двух из трёх методов. Эта задача усложнена намеренно, чтобы оправдать использование трёх методов сразу. И даже эту задачу можно решить лишь с использованием filter и reduce, map тут избыточен.

Есть еще много способов итерации по сущностям, например те же разные виды цикла for. Их я разберу чуть позже. Ну а пока, спасибо за прочтение, это важно для меня ❤️

#javascript #web #theory #useful



tgoop.com/prog_way_blog/110
Create:
Last Update:

​​Итерирование по сущностям: filter

Код из примеров очень сложно читать в самом Telegram из-за его размера, так что все примеры для простоты я перенёс в телеграф.

Ранее я уже рассматривал методы итерирования по массиву map и reduce. Предлагаю дополнить этот список методом filter.

1. filter возвращает новый массив без изменения старого
2. Параметром принимает callback, который должен вернуть значение типа boolean или значение, которое будет преобразовано к boolean, например пустую строку
3. В новый массив попадут все значения, для которых функция callback вернула значение, подобное true

Например, необходимо получить список всех положительных чётных чисел из списка (пример 1)
Или из списка customers нужно получить всех покупателей, которые подтвердили свой аккаунт (пример 2)
В результате получим два искомых покупателя. То есть из объекта даже можно возвращать одно из полей, не применяя к нему никаких вычислений.

Полная сигнатура метода:

filter(function callback(element, index, array) { ... }, thisArg)

Где callback - функция, а thisArg - значение, которое будет использовано как this в callback функции.

И filter, как метод, можно использовать в цепочке, тем самым оформляя решения крайне читабельно и красиво, например:
Написать функцию, которая на вход получает массив слов, а возвращает общую длину всех слов палиндромов. Пример сказочный, но допустим (пример 3)

Комбинацией трёх этих методов мы реализуем функцию, которая даст нам правильный ответ.

Чаще всего хватает одного метода или комбинации двух из трёх методов. Эта задача усложнена намеренно, чтобы оправдать использование трёх методов сразу. И даже эту задачу можно решить лишь с использованием filter и reduce, map тут избыточен.

Есть еще много способов итерации по сущностям, например те же разные виды цикла for. Их я разберу чуть позже. Ну а пока, спасибо за прочтение, это важно для меня ❤️

#javascript #web #theory #useful

BY progway — программирование, IT




Share with your friend now:
tgoop.com/prog_way_blog/110

View MORE
Open in Telegram


Telegram News

Date: |

How to create a business channel on Telegram? (Tutorial) Just at this time, Bitcoin and the broader crypto market have dropped to new 2022 lows. The Bitcoin price has tanked 10 percent dropping to $20,000. On the other hand, the altcoin space is witnessing even more brutal correction. Bitcoin has dropped nearly 60 percent year-to-date and more than 70 percent since its all-time high in November 2021. best-secure-messaging-apps-shutterstock-1892950018.jpg To edit your name or bio, click the Menu icon and select “Manage Channel.” “Hey degen, are you stressed? Just let it all out,” he wrote, along with a link to join the group.
from us


Telegram progway — программирование, IT
FROM American