queue data structure in javascript 2018 code example
Example: queue data structure in javascript 2018
var Queue = (()=>{
const map = new WeakMap();
let _items = []
class Queue{
constructor(...items){
map.set(this, []);
_items = map.get(this);
this.enqueue(...items)
}
enqueue(...items){
this._items = [...this._items, ...items]
return this._items;
}
dequeue(count=1){
_items.splice(0,count);
return this._items;
}
peek(){
return _items[0]
}
size(){
return _items.length
}
isEmpty(){
return _items.length===0
}
toArray(){
return _items
}
}
return Queue
})()