Какое утверждение правильно описывает работу метода filter() для массивов в JavaScript?
Подробное объяснение
Метод filter() создаёт новый массив, содержащий только те элементы исходного массива, для которых переданная функция-коллбек возвращает истинное значение (truthy). Этот метод не изменяет исходный массив, а возвращает новый отфильтрованный массив. Например, при фильтрации массива чисел по чётности, filter() вернёт новый массив только с чётными числами, оставив исходный массив неизменным.
Часто задаваемые вопросы (FAQ)
1
В чём разница между методами filter() и map()?
Метод filter() возвращает новый массив с элементами, прошедшими проверку, а map() возвращает новый массив с результатами применения функции к каждому элементу.
2
Можно ли использовать filter() для удаления элементов из массива?
Нет, filter() не удаляет элементы из исходного массива, а создаёт новый массив без определённых элементов на основе условия.
3
Что возвращает метод filter(), если ни один элемент не проходит проверку?
Если ни один элемент не удовлетворяет условию, filter() возвращает пустой массив [].
Типичные ошибки
1
Считать, что filter() изменяет исходный массив
Это неверно, так как filter() является неизменяющим методом и всегда возвращает новый массив, оставляя исходный без изменений.
2
Путать filter() с методами, возвращающими логические значения
Filter() возвращает массив, а не логическое значение. Методы, возвращающие true/false, - это every(), some() и includes().
3
Думать, что filter() сортирует или упорядочивает элементы
Filter() только фильтрует элементы по условию, сохраняя их исходный порядок. Для сортировки используется метод sort().