JavaScript Data Structures: Queue
New Courses Coming Soon
Join the waiting lists
Queues are similar to stacks, except the insertion point is different from the removal point.
We add at one end of the queue, and we remove from the other end.
This time, we call it First In, First Out (FIFO).
Like any queue you can think of, for example at the restaurant, disco or when you’re waiting to enter into a concert hall.
Here is a possible implementation of a queue in JavaScript using private class fields, using an array as the internal storage:
class Queue {
#items = []
enqueue = (item) => this.#items.splice(0, 0, item)
dequeue = () => this.#items.pop()
isempty = () => this.#items.length === 0
empty = () => (this.#items.length = 0)
size = () => this.#items.length
}
Here’s how to use it: you first initialize an object from the class, then you call its methods:
enqueue()
to add itemsdequeue()
to get an item out of the queue
Example:
const queue = new Queue()
queue.enqueue(1)
queue.enqueue(2)
queue.enqueue(3)
queue.size() //3
queue.dequeue() //1
queue.dequeue() //2
queue.dequeue() //3
→ Get my JavaScript Beginner's Handbook
→ Read my
JavaScript Tutorials
on The Valley of Code
→ Read my
TypeScript Tutorial
on The Valley of Code
Here is how can I help you:
- COURSES where I teach everything I know
- CODING BOOTCAMP cohort course - next edition in 2025
- BOOKS 16 coding ebooks you can download for free on JS Python C PHP and lots more
- Follow me on X