Hash -tabeller i JavaScript | Forklart

Hash -tabeller i JavaScript | Forklart
Datastrukturer brukes i dataprogrammering for å organisere data og anvende algoritmer for koding. Derfor er forståelse av datastrukturer og algoritmer gunstig for problemløsing og er pålagt å passere kodingsintervjuer.

Denne oppskrivningen vil diskutere en slik topp datastruktur kjent som “Hashbord”Det anses som ideelt for lagring av en stor mengde data. Hashbord kan også brukes til Unik datarrepresentasjon, Databaseindeksering, søker i usortert eller sortert matriser.

La oss nå dykke dypt inn i arbeid og implementering av hasjbord i JavaScript.

Hash -tabeller i JavaScript

I JavaScript, et “Hashbord”Er en datastruktur som kan brukes til å kartlegge nøkler til deres spesifiserte verdier. Det er også kjent som en "Hash -kart“. Hash-tabeller utfør effektivt innsetting og sletting for et nøkkelverdipar og søk verdien av en nøkkel i en hasjtabell.

Komponenter av hash -tabeller i JavaScript

Det finnes to komponenter av hasjtabeller i JavaScript: et "objekt" og en "hasjfunksjon":

  • Gjenstand: Et objekt inneholder hashtabellen som dataene lagres. Det holder alle “nøkkelverdi”Par av hasjbordet. Dessuten bør størrelsen bestemmes av størrelsen på forventede data.
  • Hash -funksjon: En hasjfunksjon er definert for en hasjbord for å finne ut "indeks”Av det gitte nøkkelverdiparet. Denne funksjonen godtar en “nøkkel”Som en innspill og tildeler deretter en spesifikk“indeks”Og setter det som retursaken.

Til dette punktet har du forstått konseptet med hasjbord i JavaScript. La oss nå ta turen mot implementeringssiden.

Hvordan implementere hash -tabeller i JavaScript

For den grunnleggende implementeringen av hashtabeller i JavaScript, må du utføre disse tre operasjonene:

  • for det første, skape en klasse for hasjbordet.
  • Definere en Hash -funksjon.
  • Definere en metode For å legge til nøkkelverdipar for hasjbordene.

Vi vil gå inn i den første operasjonen og lage en "Hashtable”Klasse i vårt JavaScript -program.

Trinn 1: Lag en klasse for hasjbordet

Vår "Hashtable”Klasse omfatter en følgende”Konstruktør”, Der vi har erklært en“gjenstand", det er "lengde”, Og hasjbordet”størrelse”:

klasse hashtable
konstruktør ()
dette.objekt = ;
dette.størrelse = 0;
dette.lengde = 0;

Trinn 2: Definer en hasjfunksjon

I neste trinn vil vi definere en "Hashfunc ()”Hashingfunksjon som aksepterer”nøkkel”Som et argument og beregner dets“aritmetisk modul”Og returner den resulterende verdien:

hashfunc (nøkkel)
Returnøkkel.toString ().lengde % dette.størrelse;

I vår "Hashtable”Klasse, vil vi nå legge til en funksjon som heter“addPair ()”For å legge til nøkkelverdiparene til hasjbordet.

Trinn 3: Definer en metode for å legge til nøkkelverdipar for hasjbordene

I de neste "addPair ()”Funksjon, den første operasjonen som skal utføres er beregningen av“hash”For nøkkelen som er spesifisert som et argument, ved hjelp av“Hashfunc ()”Funksjon.

Neste, en “hvis”Tilstand verifiserer om den beregnede”hash”Eksisterer ikke allerede i“gjenstand”, Lagrer deretter hasj til den. Etter å ha gjort det, lagret det “hash”Vil bli testet at hvis den ikke inneholder noe“nøkkel”, Øk deretter lengden”gjenstand”Og legg til“nøkkelverdi”Par til hash -tabellobjektet:

addPair (nøkkel, verdi)
const hash = dette.Hashfunc (nøkkel);
hvis (!dette.gjenstand.hasownProperty (hash))
dette.objekt [hash] = ;

hvis (!dette.objekt [hash].hasownProperty (nøkkel))
dette.lengde ++;

dette.objekt [hash] [nøkkel] = verdi;

Ønsker å søke etter en nøkkel i hasjbordet? For dette formålet må du definere en "SearchFunction ()”I“Hashtable”Klasse. Dette “SearchFunction ()”Vil godta en“nøkkel”Som et argument og beregne dets“hash”Ved å bruke“Hashfunc ()”Hashingfunksjon.

Etter det en “hvis”Tilstand blir lagt til i“SearchFunction ()”Som validerer om hasjbordet”gjenstand”Har de beregnede”hash”Og den spesifiserte”nøkkel”Eksisterer for det”hash”. Så i tilfelle det ble lagt til “hvis”Uttalelse evaluerer å være“sannhet”Så vil den lagrede verdien for det vedtatte argumentet bli returnert:

SearchFunction (Key)
const hash = dette.Hashfunc (nøkkel);
hvis dette.gjenstand.hasownProperty (hash) && dette.objekt [hash].hasownProperty (nøkkel))
Returner dette.objekt [hash] [nøkkel];
annet
return null;

Legg til alle de ovennevnte funksjonene i "Hashtable”Klasse og lag deretter en forekomst for å bruke de definerte funksjonene:

const hashtable = new HashTable ();

Nå vil vi legge til følgende tre “nøkkelverdi”Par i vårt skapte”hashtable”Objekt:

hashtable.addPair ("Alex", "01");
hashtable.Addpair ("Stepheny", "23");
hashtable.addPair ("max", "90");

Til slutt vil vi bruke "SearchFunction ()”For å finne verdien av“Stepheny”Nøkkel:

konsoll.Logg (hashtable.SearchFunction ("Stepheny"));

Den gitte utgangen betyr at vi har hentet verdien av den spesifiserte tasten fra hash -tabellen:

Det var all den essensielle informasjonen relatert til hasjbord i JavaScript. Du kan videre forske i henhold til dine krav.

Konklusjon

Hashbord i JavaScript er en datastruktur som kan brukes til å kartlegge nøkler til deres spesifiserte verdier. Det er hovedsakelig basert på to komponenter: et objekt og en hasjfunksjon, der objektet inneholder hasjtabellen der dataene lagres og holder alle “nøkkelverdi”Par av hasjbordet, og hasjfunksjonen brukes til å bestemme“indeks”Av det spesifiserte nøkkelverdiparet. Denne oppskrivningen diskuterte konseptet med hasjbord i JavaScript.