Какие методы массива мутирующие?
Массивы и структуры данных
Мутирующие методы массива изменяют исходный массив, а не возвращают новый. Их важно отличать от немутирующих, особенно в иммутабельном коде.
Мутирующие методы
- push / pop — добавить/удалить с конца.
- shift / unshift — удалить/добавить в начало.
- splice — вставка/удаление по индексу.
- sort — сортировка на месте.
- reverse — разворот на месте.
- fill — заполнить значением.
- copyWithin — скопировать часть внутри массива.
const arr = [3, 1, 2];
arr.sort(); // мутирует → [1, 2, 3]
arr.push(4); // мутирует → [1, 2, 3, 4]Немутирующие (для сравнения)
map, filter, slice, concat, reduce, flat — возвращают новый массив/значение, исходный не трогают.
Новые немутирующие аналоги (ES2023)
toSorted, toReversed, toSpliced, with — иммутабельные версии мутирующих методов:
const sorted = arr.toSorted(); // копия, arr не изменёнПочему это важно
В React/Redux мутация состояния — источник багов. Мутирующие методы применяют к копии:
const next = [...arr].sort();Коротко для собеседования
Мутирующие: push, pop, shift, unshift, splice, sort, reverse, fill. Они меняют исходный массив. В иммутабельном коде их применяют к копии ([...arr]) или используют новые toSorted/toReversed/with.