Pq.js provides a fast, straightforward priority queue to manage data based on priority. Ideal for sorting, task scheduling, or implementing priority-based logic in your app.
- ⚡ Simple and fast priority queue operations.
- 🔽🔼 Supports both Min-Heap and Max-Heap configurations.
- 🌱 No dependencies.
Perfect for anyone needing a priority queue implementation in JavaScript.
npm install pqjs
import {PriorityQueue} from "pqjs"
const pq = new PriorityQueue()
const initialValues = [10, 5, 20]
const pq = new PriorityQueue(initialValues)
pq.push(10)
pq.push(5)
pq.push(20)
console.log(pq.top()) // 20 for Max-Heap by default
console.log(pq.pop()) // 20
console.log(pq.empty()) // false
pq.clear()
console.log(pq.empty()) // true
console.log(pq.toArray()) // []
const minHeapComparator = (a, b) => b - a
const minHeap = new PriorityQueue([], minHeapComparator)
minHeap.push(10)
minHeap.push(5)
minHeap.push(20)
console.log(minHeap.pop()) // 5 for Min-Heap
console.log(minHeap.pop()) // 10 for Min-Heap
console.log(minHeap.pop()) // 20 for Min-Heap
MIT © 2025 Vusal Huseynov