[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.