shift() удаляет первый элемент массива.
Это метод, противоположный unshift(): unshift() добавляет элементы в начало массива, а shift() убирает первый элемент.
Синтаксис
array.shift()
Метод не принимает аргументов.
Что делает shift()
После вызова shift() первый элемент исчезает из массива, а остальные сдвигаются влево.
const numbers = [10, 20, 30];
numbers.shift();
console.log(numbers); // [20, 30]
Метод работает прямо с исходным массивом, а не создаёт новый.
Что возвращает shift()
shift() возвращает удалённый элемент.
const fruits = ["apple", "banana", "orange"];
const result = fruits.shift();
console.log(result); // "apple"
console.log(fruits); // ["banana", "orange"]
Это главное, что важно запомнить про shift().
Если массив пустой
Если вызвать shift() у пустого массива, ошибки не будет.
const list = [];
const result = list.shift();
console.log(result); // undefined
console.log(list); // []
В этом случае метод просто вернёт undefined.
shift() меняет исходный массив
После вызова shift() сам массив становится короче:
const items = ["a", "b", "c"];
items.shift();
console.log(items); // ["b", "c"]
Если нужен новый массив без изменения старого, чаще используют slice(1):
const items = ["a", "b", "c"];
const newItems = items.slice(1);
console.log(items); // ["a", "b", "c"]
console.log(newItems); // ["b", "c"]
Когда это полезно
shift() удобно использовать, когда:
- нужно удалить первый элемент массива
- нужно получить это значение отдельно
- изменение исходного массива допустимо
Пример:
const queue = ["first", "second", "third"];
const nextItem = queue.shift();
console.log(nextItem); // "first"
console.log(queue); // ["second", "third"]
Это типичный сценарий для работы с очередью.
shift() и pop()
Оба метода удаляют элемент, но с разных сторон массива.
const values = [1, 2, 3];
console.log(values.shift()); // 1
console.log(values); // [2, 3]
shift() удаляет первый элемент, а pop() удаляет последний.
Частые ошибки
Думать, что shift() возвращает новый массив
const numbers = [1, 2, 3];
const result = numbers.shift();
console.log(result); // 1
Здесь result - это удалённый элемент, а не [2, 3].
Забывать, что метод меняет массив
const items = ["a", "b", "c"];
items.shift();
После этого items уже не содержит первый элемент.
Ждать ошибку у пустого массива
const list = [];
console.log(list.shift()); // undefined
Метод не падает, а просто возвращает undefined.
Быстрая памятка
shift()удаляет первый элемент массива- метод не принимает аргументов
shift()возвращает удалённый элемент- если массив пустой, метод вернёт
undefined shift()меняет исходный массив
Коротко
shift() - это стандартный способ удалить первый элемент массива в JavaScript. Главное, что стоит запомнить: метод изменяет исходный массив и возвращает то значение, которое было удалено.