Как работат метод массива filter в js?

Метод массивов filter() создаёт новый массив со всеми элементами, прошедшими проверку, задаваемую в передаваемой функции. Т.е. буквально: применяя метод filter() к нашему массиву, и задав параметры фильтрации - мы получаем новый массив с элементами внутри по заданным критериям. В качестве фильтрации мы должны описать функцию которая будет поочередно применяться к каждому элементу исходного массива.

Исходный массив:

const names = ['Ivan', 'Maria', 'Anton', 'Anna'];

Допустим стоит задача получить все имена длиннее 4ех символов. Сначала можно определить, для себя, как бы выглядела функция которая проверяла длину строки. Такая функция, по идее, должна вернуть true если проверка прошла, либо false если нет.

const isNameLenghtMoreFour = (name) => {
    if (name.length > 4) {
        return true;
    }
    return false;
}

Теперь нам надо с помощью метода filter() применить эту логику к каждому элементу.

const longNames = names.filter((name) => name.length > 4);

Т.е. при выполнении метода filter() идет перебор всех элементов массива names, и каждый подставляется в функцию-фильтр которую мы передали и выполняется проверка. Если проверка успешна - элемент оставляется, иначе - выбрасывается. Результат попадает в longNames. Если вывести longNames, там ожидаемо будет:

-> ['Maria','Anton']
0 0
Основы Frontend за 14 дней
  • 72 урока в онлайн-тренажере
  • 4 живых вебинара и масскодинг
  • Помощь наставника на весь период обучения

Есть что добавить? Зарегистрируйтесь

или войдите в аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Курсы по программированию в Хекслете

Backend-разработка

Разработка серверной части сайтов и веб-приложений

Frontend-разработка

Разработка внешнего интерфейса сайтов и веб-приложений и верстка

Создание сайтов

Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails

Тестирование

Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP

Аналитика данных

Сбор, анализ и интерпретация данных на Python

Интенсивные курсы

Интенсивное обучение для продолжающих

DevOps

Автоматизация настройки локального окружения и серверов, развертывания и деплоя

Веб-разработка

Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков

Математика для программистов

Обучение разделам математики, которые будут полезны при изучении программирования

JavaScript

Разработка сайтов и веб-приложений и автоматизированное тестирование на JS

Python

Веб-разработка, автоматическое тестирование и аналитика данных на Python

Java

Веб-разработка и автоматическое тестирование на Java

PHP

Веб-разработка и автоматическое тестирование на PHP

Ruby

Разработка сайтов и веб-приложений на Ruby on Rails

Go

Курсы по веб-разработке на языке Go

HTML

Современная верстка с помощью HTML и CSS

SQL

Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД

Git

Система управления версиями Git, регулярные выражения и основы командой строки