Как добавить элемент в конец списка?
Продвинутые темы
Элемент в конец списка (массива) добавляют методом `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)).