PassFront
  1. PassFront
  2. База знаний
  3. Массивы и структуры данных

Какие методы массива мутирующие?

Массивы и структуры данных

Мутирующие методы массива изменяют исходный массив, а не возвращают новый. Их важно отличать от немутирующих, особенно в иммутабельном коде.

Мутирующие методы

  • 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.

Другие вопросы раздела