Last active
December 11, 2017 21:13
-
-
Save anish000kumar/edf7e4947c042628b1815a52c318803a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var Queue = (()=>{ | |
const map = new WeakMap(); | |
let _items = [] | |
class Queue{ | |
constructor(...items){ | |
//initialize the items in queue | |
map.set(this, []); | |
_items = map.get(this); | |
// enqueuing the items passed to the constructor | |
this.enqueue(...items) | |
} | |
enqueue(...items){ | |
//push items into the queue | |
items.forEach( item => _items.push(item) ) | |
return this; | |
} | |
dequeue(count=1){ | |
//pull out the first item from the queue | |
_items.splice(0,count); | |
return this; | |
} | |
peek(){ | |
//peek at the first item from the queue | |
return _items[0] | |
} | |
size(){ | |
//get the length of queue | |
return _items.length | |
} | |
isEmpty(){ | |
//find whether the queue is empty or no | |
return _items.length===0 | |
} | |
toArray(){ | |
return _items | |
} | |
} | |
return Queue | |
})() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment