Ako porovnať dva reťazce v JavaScripte

Ako Porovnat Dva Retazce V Javascripte



[Existujú situácie, keď vývojári potrebujú porovnať dva reťazce. Väčšina programátorov často robí chybu, keď sa pokúša porovnať svoje reťazce v JavaScripte pomocou operátora ==. Operátor == má v tejto situácii určité obmedzenia, pretože pomocou neho nemožno overiť typy premenných. Takže možno budete musieť hľadať iné spôsoby riešenia situácie.

Tento článok ukáže postup porovnávania reťazcov v JavaScripte.







Ako porovnať dva reťazce v JavaScripte?

Na porovnanie dvoch reťazcov JavaScript použite nasledujúce uvedené metódy:



Pozrime sa na fungovanie každej metódy samostatne.



Metóda 1: Porovnajte dva reťazce pomocou operátora striktnej rovnosti

Operátor prísnej rovnosti (===) možno použiť na overenie, či sú reťazce rovnaké alebo nie. Ak sú reťazce odlišné, vráti hodnotu false ako výstup; inak to dáva pravdu. Keďže ide o metódu rozlišujúcu malé a veľké písmená, pri porovnávaní reťazcov porovnáva aj malé a veľké písmená, čo znamená, že malé a veľké písmená sa považujú za rozdielne.





Syntax

Na porovnanie dvoch reťazcov pomocou operátora striktnej rovnosti použite nižšie uvedenú syntax:

str1 === str2 ;

Tu je „ === Operátor ” porovná hodnotu a dátový typ str1 a str2.



Príklad

V tomto príklade porovnáme dva reťazce, jeden je napísaný veľkými písmenami a druhý malými písmenami. Aby sme tak urobili, najprv vytvoríme dve premenné pomenované 'str1' a 'str2' ktorý ukladá reťazce “ LinuxHint “ a „ linuxhint “:

bol str1 = 'LinuxHint' ;
bol str2 = 'linux' ;

Potom zavolajte na „ console.log() ” metóda pre tlač výsledku, ktorá hovorí, či sú reťazce rovnaké alebo nie, pomocou “ === operátor:

konzoly. log ( str1 === str2 ) ;

Výstup zobrazuje „ falošný ” čo znamená, že reťazce nie sú rovnaké, pretože operátor rovnosti vykonáva porovnanie s rozlišovaním malých a veľkých písmen:

Ak chcete vykonať porovnanie medzi reťazcami bez ohľadu na veľkosť písmen, musíte postupovať podľa nižšie uvedených metód.

Metóda 2: Porovnanie dvoch reťazcov pomocou metódy localeCompare().

localeCompare() ” je preddefinovaná metóda JavaScriptu používaná na porovnávanie dvoch reťazcov. Vykonáva porovnanie reťazcov bez ohľadu na veľkosť písmen a používa aktuálne miestne nastavenie na porovnanie dvoch reťazcov.

Syntax

Pri porovnávaní dvoch reťazcov pomocou metódy localeCompare() postupujte podľa syntaxe uvedenej nižšie:

str1. localeCompare ( str2 ) ;

Tu, ' str2 “ je reťazec, ktorý sa bude porovnávať s „ str1 “:

Príklad

Teraz použijeme rovnaké reťazce, ktoré už boli vytvorené v predchádzajúcom príklade, a potom ich porovnáme pomocou „ localeCompare() ” metóda s pomocou podmieneného operátora:

ak ( str1. localeCompare ( str2 ) ) {
konzoly. log ( 'str1 sa rovná str2' ) ;
} inak {
konzoly. log ( 'str1 sa nerovná str2' ) ;
}

Ako vidíte, výstup naznačuje, že reťazce sú rovnaké, pretože metóda porovnáva porovnanie bez ohľadu na veľkosť písmen:

Prejdime k ďalšej metóde!

Metóda 3: Porovnanie dvoch reťazcov pomocou RegExp s metódou test().

Existuje ďalšia metóda na porovnávanie dvoch reťazcov, ktorá tiež vykonáva porovnanie bez ohľadu na veľkosť písmen, nazývaná „ RegExp “ s pomocou „ test() “. Kontroluje rovnosť reťazcov na základe definovaného regulárneho výrazu. Metóda test() akceptuje reťazec ako argument na porovnanie.

Syntax

Postupujte podľa uvedenej syntaxe pre metódu test() pomocou RegEx s metódou test():

regPattern. test ( str2 ) ;

Tu, ' str2 “ je reťazec, ktorý sa bude porovnávať s „ regPattern “:

Príklad

Teraz vytvoríme inštanciu RegExp odovzdaním reťazca „ str1 “ a regulárny výraz “ gi “, ktorá označuje porovnanie bez ohľadu na veľkosť písmen a ukladá ho do premennej “ regPattern “:

bol regPattern = Nový RegExp ( str1 , 'gi' ) ;

Potom zavoláme „ test() “ metóda odovzdaním reťazca “ str2 “ ako argument.

bol rok = regPattern. test ( str2 ) ;

Potom použite podmienený príkaz na overenie, či sú reťazce rovnaké alebo nie:

ak ( rok ) {
konzoly. log ( 'str1 sa rovná str2' ) ;
} inak {
konzoly. log ( 'str1 sa nerovná str2' ) ;
}

Výkon

Ak chcete porovnať reťazec s iným reťazcom ako podreťazec, musíte postupovať podľa nižšie uvedenej časti.

Metóda 4: Porovnanie dvoch reťazcov pomocou metódy include().

Na určenie, či je reťazec podreťazcom druhého reťazca, JavaScript poskytuje preddefinovanú metódu s názvom „ zahŕňa() “. Berie reťazec ako argument a dáva boolovskú hodnotu „ pravda ” ak v reťazci existuje; inak sa to vráti “ falošný “.

Syntax

Pri používaní metódy include() postupujte podľa nižšie uvedenej metódy:

str1. zahŕňa ( str2 ) ;

Tu, ' str2 “ je reťazec, ktorý kontroluje, či je zahrnutý alebo či je súčasťou „ str1 “:

Príklad

Tu najprv vytvoríme dva reťazce, 'str1' a 'str2' a skontrolujte, či je druhý reťazec podreťazcom prvého alebo nie:

bol str1 = 'LinuxHint' ;
bol str2 = 'v' ;

Za týmto účelom zavolajte na metóda „includes()“ odovzdaním „str2“ ako argument:

konzoly. log ( str1. zahŕňa ( str2 ) ) ;

Výstup dáva „ pravda “, čo znamená, že „ str2 “ je súčasťou „ str1 “:

Zostavili sme všetky metódy na porovnanie dvoch reťazcov JavaScript.

Záver

Na porovnanie dvoch reťazcov JavaScriptu môžete použiť metódu localeCompare(), operátor striktnej rovnosti, metódu RegEx s test() alebo metódu include(). Operátor striktnej rovnosti vykonáva porovnanie s rozlišovaním malých a veľkých písmen, zatiaľ čo metódy test() a localeCompare() vykonávajú porovnanie bez ohľadu na veľkosť písmen. Nakoniec metóda include() kontroluje reťazec ako podreťazec v inom reťazci. V tomto článku sme demonštrovali metódy na porovnanie dvoch reťazcov v JavaScripte na správnych príkladoch.