Sådan sammenlignes to strenge i JavaScript

Sadan Sammenlignes To Strenge I Javascript



[Der er nogle situationer, hvor udviklerne skal sammenligne to strenge. De fleste programmører begår ofte den fejl at forsøge at sammenligne deres strenge i JavaScript ved hjælp af ==-operatoren. Operatoren == har nogle begrænsninger i denne situation, da variabeltyperne ikke kan valideres ved hjælp af den. Så du skal muligvis kigge efter andre metoder til at håndtere situationen.

Denne artikel vil demonstrere proceduren til at sammenligne strenge i JavaScript.







Hvordan sammenligner man to strenge i JavaScript?

For at sammenligne to JavaScript-strenge skal du bruge følgende anførte metoder:



Lad os undersøge, hvordan hver metode fungerer separat.



Metode 1: Sammenlign to strenge ved hjælp af streng lighedsoperator

Den strenge lighedsoperator (===) kan bruges til at validere, om strengene er ens eller ej. Hvis strengene er forskellige, returnerer den falsk som output; ellers giver det sandt. Da det er en metode, der skelner mellem store og små bogstaver, sammenligner den strenge, men den sammenligner også bogstavernes store og små bogstaver, hvilket betyder, at små og store bogstaver betragtes som forskellige.





Syntaks

Brug nedenstående syntaks til at sammenligne to strenge ved hjælp af den strenge lighedsoperator:

str1 === str2 ;

Her er ' === ” vil operatøren sammenligne værdien og datatypen for str1 og str2.



Eksempel

I dette eksempel vil vi sammenligne de to strenge, den ene er med store bogstaver, og den anden er med små bogstaver. For at gøre det, vil vi først oprette to variabler med navn 'str1' og 'str2' der gemmer strenge ' LinuxTip ' og ' linuxhint ”:

var str1 = 'LinuxHint' ;
var str2 = 'linux' ;

Ring derefter til ' console.log() ” metode til at udskrive resultatet, der fortæller om strengene er ens eller ej ved at bruge === ” operatør:

konsol. log ( str1 === str2 ) ;

Udgangen viser ' falsk ” som angiver, at strengene ikke er ens, fordi lighedsoperatoren udfører forskel på store og små bogstaver:

Hvis du vil udføre en sammenligning mellem strenge, der ikke er følsom over for store og små bogstaver, skal du følge nedenstående metoder.

Metode 2: Sammenlign to strenge ved hjælp af localeCompare()-metoden

localeCompare() ” er en foruddefineret JavaScript-metode, der bruges til at sammenligne to strenge. Den udfører en strengsammenligning, der ikke er følsom over for store og små bogstaver, og bruger den aktuelle lokalitet til at sammenligne to strenge.

Syntaks

Følg nedenstående syntaks for at sammenligne to strenge ved hjælp af localeCompare()-metoden:

str1. locale Sammenlign ( str2 ) ;

Her, ' str2 ' er den streng, der vil blive sammenlignet med ' str1 ”:

Eksempel

Vi vil nu bruge de samme strenge, som allerede er oprettet i det forrige eksempel og derefter sammenligne dem ved at bruge ' localeCompare() ” metode ved hjælp af den betingede operator:

hvis ( str1. locale Sammenlign ( str2 ) ) {
konsol. log ( 'str1 er lig med str2' ) ;
} andet {
konsol. log ( 'str1 er ikke lig med str2' ) ;
}

Som du kan se, at outputtet indikerer, at strengene er ens, fordi metoden sammenligner sammenligningen uden store og små bogstaver:

Lad os gå videre til næste metode!

Metode 3: Sammenlign to strenge ved hjælp af RegExp med test()-metoden

Der er en anden metode til at sammenligne to strenge, der også udfører forskellen mellem store og små bogstaver, kaldet ' RegExp ' ved hjælp af ' prøve() ” metode. Det kontrollerer ligheden af ​​strenge baseret på det definerede regex. Test()-metoden vil acceptere en streng som et argument for sammenligning.

Syntaks

Følg den givne syntaks for test()-metoden ved hjælp af RegEx med test()-metoden:

regMønster. prøve ( str2 ) ;

Her, ' str2 ' er den streng, der vil blive sammenlignet med ' regMønster ”:

Eksempel

Nu vil vi oprette en forekomst af RegExp ved at sende en streng ' str1 ' og et regulært udtryk ' gi ', der angiver sammenligningen uden forskel på store og små bogstaver og gemmer den i en variabel ' regMønster ”:

var regMønster = ny RegExp ( str1 , 'gi' ) ;

Derefter vil vi kalde ' prøve() ' metode ved at sende strengen ' str2 ” som argument.

var år = regMønster. prøve ( str2 ) ;

Brug derefter den betingede sætning til at kontrollere, om strengene er ens eller ej:

hvis ( år ) {
konsol. log ( 'str1 er lig med str2' ) ;
} andet {
konsol. log ( 'str1 er ikke lig med str2' ) ;
}

Produktion

Hvis du vil sammenligne en streng med en anden streng som en understreng, skal du følge nedenstående afsnit.

Metode 4: Sammenlign to strenge ved hjælp af include()-metoden

For at afgøre, om strengen er en understreng af den anden streng, giver JavaScript en foruddefineret metode kaldet ' omfatter() ” metode. Det tager en streng som argument og giver en boolsk værdi ' rigtigt ” hvis det findes i strengen; ellers vender det tilbage' falsk ”.

Syntaks

Følg nedenstående metode til brug af include()-metoden:

str1. omfatter ( str2 ) ;

Her, ' str2 ' er den streng, der kontrollerer, om den er inkluderet eller en del af ' str1 ”:

Eksempel

Her vil vi først oprette to strenge, 'str1' og 'str2' og kontroller, om den anden streng er en understreng af den første eller ej:

var str1 = 'LinuxHint' ;
var str2 = 'i' ;

For dette, ring til metoden 'includes()' ved at sende 'str2' som argument:

konsol. log ( str1. omfatter ( str2 ) ) ;

Udgangen giver ' rigtigt ', hvilket indikerer, at ' str2 ' er den del af ' str1 ”:

Vi har samlet alle metoderne til at sammenligne to JavaScript-strenge.

Konklusion

For at sammenligne to JavaScript-strenge kan du bruge metoden localeCompare(), strict equality operator, RegEx med test()-metoden eller include()-metoden. Den strenge lighedsoperator udfører en sammenligning, der skelner mellem store og små bogstaver, mens test()-metoden og localeCompare()-metoden udfører en sammenligning, der skelner mellem store og små bogstaver. Til sidst kontrollerer metoden include() strengen som en understreng i en anden streng. I denne artikel demonstrerede vi metoderne til at sammenligne to strenge i JavaScript med rigtige eksempler.