Skip to main content

Data Structures in JavaScript

Data structures are ways to organize and store data efficiently. Understanding them helps you choose the right tool for each problem and write more efficient code.

Arrays

Arrays are the most basic data structure in JavaScript, offering dynamic sizing and various built-in methods.

Basic Operations

Objects (Hash Maps)

Objects provide O(1) average-case lookup, insertion, and deletion.

Set

Sets store unique values of any type.

Set Operations

Map

Maps are key-value pairs where keys can be any type (unlike objects where keys are strings/symbols).

WeakMap and WeakSet

WeakMap and WeakSet hold weak references to objects, allowing garbage collection.
WeakMap and WeakSet only accept objects as keys/values and are not iterable. They’re useful for preventing memory leaks.

Stack

Last-In-First-Out (LIFO) data structure.

Queue

First-In-First-Out (FIFO) data structure.

Linked List

A linear data structure where elements are connected via pointers.

Binary Tree

Complexity Comparison

*At known position

Best Practices

If you need frequent lookups, use Map/Object. If you need unique values, use Set. If you need ordered insertion/deletion, use Array or LinkedList.
JavaScript’s built-in Array, Object, Map, and Set are optimized and should be your first choice before implementing custom structures.
Some structures use more memory for faster operations. Choose based on your constraints.
Know the Big O complexity of operations for each data structure to make informed decisions.