Вебсправочник
Справочник JavaScript

shift(): взять первый элемент массива

Shift удаляет первый элемент массива и возвращает его. Операция удобна для небольшой учебной очереди, в которой элементы обрабатываются в порядке поступления.

Назначение

Shift удаляет первый элемент массива и возвращает его. Операция удобна для небольшой учебной очереди, в которой элементы обрабатываются в порядке поступления.

Как это работает

Оставшиеся элементы сдвигаются к началу, длина уменьшается. Пустой массив возвращает undefined. Для больших очередей повторные сдвиги стоит оценивать по производительности, а не считать автоматически бесплатными.

Пример

const queue = ["Проверить HTML", "Проверить CSS", "Проверить ссылки"];
const first = queue.shift();
console.assert(first === "Проверить HTML");
console.assert(queue[0] === "Проверить CSS" && queue.length === 2);
console.assert([].shift() === undefined);
console.log(first, queue);

Что должно получиться

Первая задача извлечена, следующая стала элементом с индексом ноль. Возвращённое значение не является массивом оставшихся задач.

Граница применения и частая ошибка

Не путайте shift с pop: они работают с разными концами массива. Индексы оставшихся элементов меняются, поэтому ранее сохранённые позиции могут устареть. Для длинной очереди можно использовать указатель чтения с продуманным освобождением обработанных элементов.

Самостоятельная проверка

Добавьте новую задачу через push и извлеките две через shift. Проверьте порядок обработки. Затем сравните с подходом, где исходный массив сохраняется, а текущая позиция хранится отдельно.

Пример JavaScript проверяйте в собственном учебном файле или консоли своего проекта. Встроенная песочница справочника JavaScript не выполняет. Успешное выполнение в одной среде не гарантирует поддержку метода во всех браузерах.

Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.