Методы массива
Вопрос
Какие методы массива мутируют исходный, а какие нет?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
мутируют: push, pop, shift, unshift, splice, sort, reverse, fill
возвращают новый: map, filter, slice, concat, flat, with, toSorted
sort сортирует по строковому представлению без компаратора
reduce - самый общий: через него выражаются map и filter
find останавливается на первом совпадении, filter проходит всё
forEach не умеет прерываться и игнорирует возврат
Что могут спросить следом
- Как отсортировать числа по убыванию
- Чем отличаются at(-1) и [length-1]
- Как сгруппировать массив объектов по полю
Разбор
Мутирующие: push, pop, shift, unshift, splice, sort, reverse, fill,
copyWithin. Возвращающие новый массив: map, filter, slice, concat, flat,
flatMap и новые неразрушающие двойники toSorted, toReversed, with.
Подвохи: sort без компаратора сортирует по строкам ([10, 9] → [10, 9]), sort
и reverse мутируют - в React это ломает состояние. forEach нельзя прервать, для этого
for...of, some или find. reduce - самый общий метод, через него выражаются
остальные, но читается хуже: группировку через него пишут, сумму - нет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.