Как работат метод массива filter в js?
3 года назад
Andrey Moshkov
Ответы
Метод массивов filter() создаёт новый массив со всеми элементами,
прошедшими проверку, задаваемую в передаваемой функции. Т.е. буквально: применяя метод filter()
к нашему массиву, и задав
параметры фильтрации - мы получаем новый массив с элементами внутри по заданным критериям. В качестве фильтрации мы должны описать функцию которая будет поочередно применяться
к каждому элементу исходного массива.
Исходный массив:
Допустим стоит задача получить все имена длиннее 4ех символов.
Сначала можно определить, для себя, как бы выглядела функция которая проверяла длину строки.
Такая функция, по идее, должна вернуть true
если проверка прошла, либо false
если нет.
Теперь нам надо с помощью метода filter()
применить эту логику к каждому элементу.
Т.е. при выполнении метода filter()
идет перебор всех элементов массива names, и каждый подставляется в функцию-фильтр которую мы передали и выполняется проверка. Если проверка успешна - элемент оставляется, иначе - выбрасывается. Результат попадает в longNames
. Если вывести longNames
, там ожидаемо будет:
3 года назад
Вячеслав Межуревский