PassFront
  1. PassFront
  2. База знаний
  3. Продвинутые темы

Как добавить элемент в конец списка?

Продвинутые темы

Элемент в конец списка (массива) добавляют методом `push()`, который мутирует массив, или иммутабельно через spread `[...arr, item]`.

push — мутирует массив

Добавляет элемент(ы) в конец, изменяя исходный массив, возвращает новую длину:

const arr = [1, 2, 3];
arr.push(4);        // [1, 2, 3, 4]
arr.push(5, 6);     // [1, 2, 3, 4, 5, 6] — несколько сразу

O(1) — добавление в конец эффективно.

Иммутабельно — spread

Создаёт новый массив, исходный не меняется (нужно для React/Redux):

const arr = [1, 2, 3];
const newArr = [...arr, 4]; // [1, 2, 3, 4], arr не изменён

Или concat:

const newArr = arr.concat(4); // тоже новый массив

Сравнение способов

  • push — мутирует, быстро, для локальных массивов.
  • spread `[...arr, x]` — иммутабельно, новый массив, для React-состояния.
  • concat — тоже иммутабельно.

В контексте React

Не мутировать состояние — использовать spread:

setItems([...items, newItem]); // правильно
// items.push(newItem) — неправильно (мутация)

Другие методы (для контекста)

  • unshift — в начало (O(n), сдвиг).
  • splice — по индексу.

Коротко для собеседования

Элемент в конец массива добавляют push(item) (мутирует, O(1), возвращает новую длину) или иммутабельно через spread [...arr, item]/concat (новый массив — для React-состояния). В React используют spread (setItems([...items, x])), не push (мутация). В начало — unshift (O(n)).

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