Repository URL to install this package:
|
Version:
0.6.0 ▾
|
| .. |
| index.d.ts |
| index.js |
| license |
| package.json |
| readme.md |
Tiny queue data structure
You should use this package instead of an array if you do a lot of Array#push() and Array#shift() on large arrays, since Array#shift() has linear time complexity O(n) while Queue#dequeue() has constant time complexity O(1). That makes a huge difference for large arrays.
A queue is an ordered list of elements where an element is inserted at the end of the queue and is removed from the front of the queue. A queue works based on the first-in, first-out (FIFO) principle.
$ npm install yocto-queue
const Queue = require('yocto-queue'); const queue = new Queue(); queue.enqueue('🦄'); queue.enqueue('🌈'); console.log(queue.size); //=> 2 console.log(...queue); //=> '🦄 🌈' console.log(queue.dequeue()); //=> '🦄' console.log(queue.dequeue()); //=> '🌈'
queue = new Queue()The instance is an Iterable, which means you can iterate over the queue front to back with a “for…of” loop, or use spreading to convert the queue to an array. Don't do this unless you really need to though, since it's slow.
.enqueue(value)Add a value to the queue.
.dequeue()Remove the next value in the queue.
Returns the removed value or undefined if the queue is empty.
.clear()Clear the queue.
.sizeThe size of the queue.