mutation

Array.prototype.shift

Removes the first element from the array and returns it, reindexing every remaining element. Reach for it to consume the head of a list — the natural queue operation.

arr.shift()

Parameters

Parameter Purpose
(no parameters) Takes no arguments
return value The removed element, or undefined if the array was empty

Examples

const a = [1, 2, 3]; console.log(a.shift());

Logs: 1

const a = [1, 2, 3]; a.shift(); console.log(a);

Logs: [2, 3]

console.log([].shift());

Logs: undefined

const q = ['a','b','c']; while (q.length) console.log(q.shift());

Logs: 'a', 'b', 'c' (FIFO drain)

Gotcha

MUTATES the source and is O(n) because every remaining element must be reindexed — avoid in hot loops for large arrays.

Related methods

← All JS array methods · TypeScript vs JavaScript