Optimal måte å sammenligne strenger i JavaScript

Optimal måte å sammenligne strenger i JavaScript
JavaScript har mange metoder som hjelper en bruker med å sammenligne to eller flere strenger. Men av alle de andre metodene som er tilgjengelige i JavaScript, LocalCompare () Metoden er den mest optimale for å sammenligne strenger. De LocalCompare () metoden brukes på en streng ved bruk av en prikkoperatør, og den andre strengen blir sendt inne i argumentet.

Syntaks av localCompare () -metode

For å forstå LocalCompare () -metoden, ta en titt på syntaks:

STR1.LocalCompare (STR2);
  • str1: Den første strengen som blir sammenlignet, som også kan kalles henvisning streng
  • str2: Den andre strengen som skal sammenlignes, som også kan kalles sammenligne streng

Returverdi
LocalCompare () -metoden vil returnere en numerisk verdi med følgende forskjellige scenarier:

  • Returnerer 0 I tilfelle begge strengene er helt like og identiske med hverandre
  • Returnerer 1 Hvis STR1 kommer før str2 i numerisk ekvivalens
  • Returnerer -1 Hvis str2 kommer før STR1 i numerisk ekvivalens

Eksempel 1: LocalCompare () -metode for å sammenligne to identiske strenger

Lag først to identiske strenger og lagre dem i forskjellige variabler som:

var str1 = "hei";
var str2 = "hei";

Etter det, bruk LocalCompare () -metoden på STR1 og passere i str2 som et argument, og pakk deretter hele denne tilstanden inne i en konsollloggfunksjon for å skrive ut resultatet på terminalen:

konsoll.Logg (STR1.LocalCompare (STR2));

Ved utførelse ser resultatet på terminalen slik ut:

Imidlertid er output ovenfor egentlig ikke så brukervennlig, og fjerner derfor konsollloggfunksjonen og pakker inn LocalCompare () uttalelse inne i en If-Else tilstand som:

hvis (str1.localEmcompare (str2) == 0)
konsoll.logg ("begge strengene er identiske");
annet
konsoll.Logg ("Begge strengene er forskjellige");

Utfør programmet på nytt og følgende resultat viser i terminalen:

Ovennevnte kodeutdrag skaper i utgangspunktet en sjakk for identisk streng, for å bekrefte dette, endre verdiene i strengvariablene som:

var str1 = "hei";
var str2 = "verden";

På nytt utførelse av programmet vil gi følgende resultat:

Det fremgår av utgangen at strengene ikke er identiske med hverandre.

Eksempel 2: Ulike strenger som gir forskjellige returverdier

For å sjekke ut de forskjellige returverdiene som kan oppstå med LocalCompare () -metoden, lag følgende strenger:

var str1 = "Romania";
var str2 = "Romania";

Begge strengene inneholder samme ord, men er i forskjellige case-følsomhet. Søke om LocalCompare ()STR1 og pass str2 i sitt argument som:

konsoll.Logg (STR1.LocalCompare (STR2));

Å utføre programmet vil gi følgende resultat på terminalen:

Fra utgangen er det klart at begge strengene er forskjellige. Men den mer interessante delen er at str1> str2 i numerisk ekvivalens.

For å vise frem en negativ returverdi fra LocalEcomapre () metode, bare bytt Referansestreng og Sammenlign streng Med hverandre i LocalCompare () uttalelsen som:

konsoll.Logg (STR2.LocalCompare (STR1));

Å utføre programmet vil nå gi følgende utfall:

Utgangen på terminalen skildrer det str2> str1 i numerisk ekvivalens.

Eksempel 3: Implementering av case-ufølsomhet i localCompare () -metode

LocalCompare () -metoden kan ta to ekstra argumenter bortsett fra sammenligningsstrengen. Disse er Lokale (kan brukes til å definere det lokale eller basispråket) og alternativer. Hvis du velger et sted (for eksempel 'en') og i det tredje argumentet, passerer du inn “Følsomhet = base”, Da, i så fall, vil LocalCompare () -metoden sammenligne strenger uavhengig av deres saksfølsomhet.

Ta for eksempel følgende strenger igjen:

var str1 = "Romania";
var str2 = "Romania";

Etterpå bruker du LocalCompare () -metoden med det andre argumentet som “En” og det tredje argumentet som følsomhet = base og pakk hele uttalelsen i en konsollloggfunksjon:

konsoll.Logg (STR2.LocalCompare (str1, "en", følsomhet: "base"));

Resultatet ved utførelse vil være:

Som du kan se, fikk vi produksjonen som "0”Det betyr at begge strengene anses å være lik hverandre.

Pakk opp

LocalCompare () -metoden regnes som den mest optimale og effektive sammenligningsmetoden. LocalCompare () brukes på en streng ved hjelp av en prikkoperatør, og den strengen er kjent som referansestrengen. Den andre strengen kalles sammenligningsstrengen, som sendes innenfor argumentet for LocalCompare () -metoden. Hvis begge strengene er like og identiske, så er den numeriske verdien "0”Blir returnert; Ellers returneres en ikke-null verdi.