According to the book. Slowly understand.
functionQueue () {varItems = []; This. Enqueue =function(Element) {Items.push (element); } This. dequeue =function(){ returnItems.shift (); } This. Front =function(){ returnItems[0]; } This. IsEmpty =function(){ returnItems.length = = 0; } This. Clear =function() {Items= []; } This. Size =function(){ returnitems.length; } This. Print =function() {Console.log (items.tostring ()); }}functionPriorityqueue () {varItems = []; functionqueueelement (element, priority) { This. Element =element; This. Priority =Priority ; } This. Enqueue =function(element, priority) {varQueueelement =Newqueueelement (element, priority); if( This. IsEmpty ()) {Items.push (queueelement); } Else { varAdded =false; for(vari=0; i<items.length; i++){ if(Queueelement.priority <items[i].priority) {Items.splice (i,0, queueelement); Added=true; Break; } } if(!added) {Items.push (queueelement); } } } This. dequeue =function(){ returnItems.shift (); } This. Front =function(){ returnItems[0]; } This. IsEmpty =function(){ returnItems.length = = 0; } This. Clear =function() {Items= []; } This. Size =function(){ returnitems.length; } This. Print =function() {console.log (items); }}varPriorityqueue =Newpriorityqueue ();p Riorityqueue.enqueue ("John", 2);p Riorityqueue.enqueue ("Jack", 1);p Riorityqueue.enqueue ("Camila", 1);p riorityqueue.print ();functionHotpotato (namelist, num) {varQueue =NewQueue (); for(vari=0; i<namelist.length; i++) {queue.enqueue (namelist[i]); } vareliminated = ' '; while(Queue.size () > 1){ for(vari=0; i<num; i++) {Queue.enqueue (Queue.dequeue ()); } Eliminated=Queue.dequeue (); Console.log (Eliminated+ ' be eliminated from drumming. '); } returnqueue.dequeue ();}varnames = [' John ', ' Jack ', ' Camila ', ' Ingrid ', ' Carl '];varWinner = Hotpotato (names, 7); Console.log (' Victor: ' + winner);
JavaScript queue, Priority queue, loop queue