Какие методы массива важны на практике и чем они отличаются?
Массивы и структуры данных
Методы массива делятся на мутирующие (меняют исходный массив) и немутирующие (возвращают новый). На собеседовании важно знать, какие из них перебирающие, трансформирующие и мутирующие.
Трансформация (возвращают новый массив)
- map — преобразует каждый элемент.
- filter — оставляет подходящие.
- slice — копия части массива.
- concat — объединение.
Агрегация
- reduce — сворачивает массив в одно значение.
- find / findIndex — первый подходящий элемент/индекс.
- some / every — булев результат по условию.
- includes / indexOf — поиск значения.
const nums = [1, 2, 3, 4];
const doubledEven = nums.filter((n) => n % 2 === 0).map((n) => n * 2); // [4, 8]
const sum = nums.reduce((acc, n) => acc + n, 0); // 10Мутирующие (меняют исходный!)
- push / pop — конец массива.
- shift / unshift — начало массива.
- splice — удаление/вставка по индексу.
- sort / reverse — сортировка/разворот на месте.
const arr = [3, 1, 2];
arr.sort(); // мутирует arr → [1, 2, 3]
const sorted = [...arr].sort(); // безопасно: копияПрактический совет
Для иммутабельного кода (React/Redux) избегайте мутирующих методов или работайте с копией ([...arr], toSorted, toReversed).
Коротко для собеседования
map/filter/reduce/find/some/every — немутирующие, возвращают новый результат. push/pop/splice/sort/reverse — мутируют исходный массив. В иммутабельном коде мутирующие применяют к копии.