Hvordan implementere JavaScript -kø ved hjelp av en matrise

Hvordan implementere JavaScript -kø ved hjelp av en matrise

Anta at det er en kø av kunder i en bankmottak som venter på å løse spørsmålene sine. I dette scenariet vil kunden som ankom først bli servert først, mens de som kom senere vil bli plassert på slutten av køen og servert deretter.

Kø i JavaScript fungerer etter det samme prinsippet kjent som "Først inn først ut", der det første elementet som er lagt til i køen, blir fjernet først. Det er basert på to operasjoner: “Enqueue” og “Dequeue”, hvor "Enqueue”Refererer til å legge til et element på slutten av køen og“Dequeue”Metode brukes til å fjerne frontelementet ved hjelp av matrise”skifte()”Metode. JavaScript matriser tilbud innebygd “Push ()” og “Shift ()” metoder; Derfor kan du bruke en matrise for å implementere køer effektivt.

Denne oppskrivningen vil diskutere metoden for å implementere JavaScript-køen ved hjelp av en matrise. Så la oss starte!

Hvordan implementere JavaScript -kø ved hjelp av en matrise

For å implementere kø i JavaScript, vil vi opprette et "”Klasse og erklære en matrise som heter“gjenstander”I konstruktøren. Dette “gjenstander”Array vil bli brukt til å lagre køelementer:

Klassekø
konstruktør ()
elementer = [];

Etter å ha opprettet en Klasse, legg til de undergitte metodene for å utføre forskjellige operasjoner på køelementene.

Hvordan du kan gjøre et element i JavaScript -køen

Enqueue”Henviser til driften av å legge til et element til slutten av køen. I vår JavaScript -køklasse vil vi definere en "enqueue ()”Metode for å legge til elementene i slutten av køen, ved hjelp av “Varer” -array “Push ()” metode:

enqueue (element)
konsoll.Logg (element + "legges til JavaScript -køen.");
dette.gjenstander.push (element);

Hvordan dequeue et element fra JavaScript -køen

Dequeue ()”Metode brukes til å slette eller fjerne start- eller frontelementet i en JavaScript -kø. Påkalle "skifte()”Metode i“Dequeue ()”Metoden vil hjelpe deg med å fjerne frontendelementet fra den opprettede køen:

dequeue ()
Returner dette.gjenstander.skifte();

Hvordan sjekke lengden på JavaScript -køen

lengde”Eiendom til“gjenstander”Array vil returnere lengden på JavaScript -køen:

lengde ()
Returner dette.gjenstander.lengde;

Hvordan kikke et element fra JavaScript -køen

Peek ()”Metoden brukes til å hente elementet som finnes på fronten av JavaScript -køen uten å endre det:

Peek ()
Returner dette.elementer [0];

Hvordan skrive ut elementer i JavaScript -køen

For å skrive ut alle køelementene, vil vi definere en "skrive ut()”Metode i JavaScript -køklassen. Denne metoden vil returnere en streng som heter “str”Det omfatter alle køelementene:

skrive ut()
var str = "";
for (var i = 0; i < this.items.length; i++)
Str += dette.elementer [i] +"";
Return Str;

Hvordan tømme JavaScript -køen

For å fjerne alle køelementer samtidig, må du angi “lengde”Eiendom til“gjenstander”Array til“0”:

klar ()
konsoll.logg ("køen er ryddet");
dette.gjenstander.lengde = 0;

Hvordan sjekke om JavaScript -køen er tom

Etter å ha tømt elementene, kan du bekrefte at JavaScript -køen er tom eller ikke. For å gjøre det, definer en “er tom()”Metode og bruk deretter den strenge likestillingsoperatøren”===”For å sammenligne lengden på“gjenstander”Array til“0”:

er tom()
Returner dette.gjenstander.lengde === 0;

Det gitte “er tom()”Metoden vil returnere en boolsk verdi, hvor “ekte”Betyr at“gjenstander”Array er tom og“falsk”Indikerer at det ikke er tomt.

La oss nå gå videre og praktisk talt implementere JavaScript -køen ved hjelp av en matrise og bruke de diskuterte metodene:

Eksempel: Hvordan implementere JavaScript -kø ved hjelp av en matrise

Her er den komplette koden som vi har lagt til i programmet vårt for implementering av JavaScript -kø:

Klassekø
konstruktør ()
dette.elementer = [];

// Enqueue et element som skal kø
enqueue (element)
konsoll.Logg (element + "legges til JavaScript -køen.");
dette.gjenstander.push (element);

// Dequeue et element fra køen
dequeue ()
Returner dette.gjenstander.skifte();

// Kontroller kølengden
lengde ()
Returner dette.gjenstander.lengde;

// sjekk frontelementet i køen
Peek ()
Returner dette.elementer [0];

// utskriftskøelementer
skrive ut()
var str = "";
for (var i = 0; i < this.items.length; i++)
Str += dette.elementer [i] + "";
Return Str;

// klar kø
klar ()
konsoll.logg ("køen er ryddet");
dette.gjenstander.lengde = 0;

// sjekk om køen er tom
er tom()
Returner dette.gjenstander.lengde === 0;

For det første vil vi lage en forekomst av "”Klasse og“enqueue”Etter tre verdier til“gjenstander”Array:

var kø = ny kø ();
kø.enqueue (40);
kø.enqueue (50);
kø.enqueue (60);

I neste trinn vil vi sjekke lengden på den opprettede køen ved å påkalle "lengde()”Metode:

konsoll.Logg (kø.lengde());

Den gitte utgangen betyr at lengden på JavaScript -køen er "3”:

Deretter, bruk "Peek ()”Metode for å skrive ut frontelementet i køen:

konsoll.Logg (kø.Peek ()+ "er foran køen");

Som du kan se av utdataene som “40”Er plassert foran på den opprettede JavaScript -køen:

Deretter vil vi avgjøre frontelementet fra køen:

konsoll.Logg (kø.dequeue () + "fjernes fra køen");

Etter å ha fjernet “40”Element, nå sjekk køllengden på nytt og utskrift av de gjenværende køelementene:

konsoll.Logg (kø.lengde());
konsoll.logg ("gjenværende køelementer er" + kø.skrive ut());

Sjekk ut frontelementet i køen:

konsoll.Logg (kø.Peek ()+ "er foran køen");

Etter å ha fjernet elementet “40”, “50” er nå foran på JavaScript -køen:

Nå vil vi fjerne køen ved å bruke "kø.klar()" metode:

kø.klar();

Til slutt, bekreft om køen er tom eller ikke:

kø.er tom();

I den følgende utgangen, "ekte”Indikerer at lengden på køen er lik“0,”Noe som betyr at køen er tom:

Det handlet om den essensielle informasjonen om implementering av JavaScript -køen ved hjelp av en matrise. Du kan utforske det ytterligere i henhold til dine krav.

Konklusjon

Arrays i JavaScript tilbyr “Push ()” og “Shift ()” Metoder som tillater deg å implementere JavaScript -køen effektivt. Etter å ha opprettet en matrise, kan du utføre videre operasjoner som å legge til eller fjerne et element i køen, sjekke frontelementet, tømme hele køen og bekrefte lengden. Denne oppskrivningen diskuterte prosedyren til Implementere JavaScript -kø ved hjelp av en matrise.