Cum se compară două șiruri în JavaScript

Cum Se Compara Doua Siruri In Javascript



[Există unele situații în care dezvoltatorii trebuie să compare două șiruri. Majoritatea programatorilor fac frecvent greșeala de a încerca să-și compare șirurile în JavaScript folosind operatorul ==. Operatorul == are unele restricții în această situație, deoarece tipurile de variabile nu pot fi validate folosindu-l. Deci, poate fi necesar să căutați alte metode pentru a gestiona situația.

Acest articol va demonstra procedura de comparare a șirurilor în JavaScript.







Cum se compară două șiruri în JavaScript?

Pentru a compara două șiruri JavaScript, utilizați următoarele metode enumerate:



Să examinăm modul de lucru al fiecărei metode separat.



Metoda 1: Comparați două șiruri folosind operatorul de egalitate strictă

Operatorul de egalitate strictă (===) poate fi utilizat pentru a valida dacă șirurile sunt egale sau nu. Dacă șirurile sunt diferite, returnează false ca ieșire; altfel, dă adevărat. Deoarece este o metodă sensibilă la majuscule, în timp ce compară șirurile de caractere, compară și literele cu majuscule, ceea ce înseamnă că literele mici și mari sunt considerate diferite.





Sintaxă

Utilizați sintaxa de mai jos pentru a compara două șiruri de caractere folosind operatorul de egalitate strictă:

str1 === str2 ;

Aici ' === ” operatorul va compara valoarea și tipul de date ale str1 și str2.



Exemplu

În acest exemplu, vom compara cele două șiruri, unul este cu litere mari, iar celălalt este cu litere mici. Pentru a face acest lucru, mai întâi, vom crea două variabile numite „str1” și „str2” care stochează șiruri” LinuxHint ' și ' linuxhint ”:

a fost str1 = „LinuxHint” ;
a fost str2 = 'linux' ;

Apoi, sunați „ console.log() ” metoda de tipărire a rezultatului care spune dacă șirurile sunt egale sau nu folosind „ === ” operator:

consolă. Buturuga ( str1 === str2 ) ;

Ieșirea arată „ fals ” care indică faptul că șirurile de caractere nu sunt egale, deoarece operatorul de egalitate efectuează o comparație sensibilă la majuscule și minuscule:

Dacă doriți să efectuați o comparație între șiruri care nu ține seama de majuscule și minuscule, trebuie să urmați metodele de mai jos.

Metoda 2: Comparați două șiruri folosind metoda localeCompare().

localeCompare() ” este o metodă predefinită JavaScript folosită pentru compararea a două șiruri. Efectuează o comparație de șiruri care nu ține seama de majuscule și minuscule și utilizează localitatea curentă pentru a compara două șiruri.

Sintaxă

Urmați sintaxa menționată mai jos pentru a compara două șiruri de caractere folosind metoda localeCompare():

str1. localCompare ( str2 ) ;

Aici, ' str2 ” este șirul care va fi comparat cu „ str1 ”:

Exemplu

Vom folosi acum aceleași șiruri care au fost deja create în exemplul anterior și apoi le vom compara folosind „ localeCompare() ” metoda cu ajutorul operatorului condiționat:

dacă ( str1. localCompare ( str2 ) ) {
consolă. Buturuga ( „str1 este egal cu str2” ) ;
} altfel {
consolă. Buturuga ( „str1 nu este egal cu str2” ) ;
}

După cum puteți vedea că rezultatul indică șirurile de caractere egale, deoarece metoda compară comparația care nu ține seama de majuscule și minuscule:

Să trecem la următoarea metodă!

Metoda 3: Comparați două șiruri folosind RegExp cu metoda test().

Există o altă metodă de comparare a două șiruri de caractere care efectuează și o comparație care nu ține seama de majuscule și minuscule numită „ RegExp ' cu ajutorul ' Test() ” metoda. Verifică egalitatea șirurilor de caractere pe baza regexului definit. Metoda test() va accepta un șir ca argument pentru comparație.

Sintaxă

Urmați sintaxa dată pentru metoda test() folosind RegEx cu metoda test():

regPattern. Test ( str2 ) ;

Aici, ' str2 ” este șirul care va fi comparat cu „ regPattern ”:

Exemplu

Acum, vom crea o instanță de RegExp pasând un șir „ str1 ” și un regex ” gi ” care indică comparația fără majuscule și o stochează într-o variabilă ” regPattern ”:

a fost regPattern = nou RegExp ( str1 , 'gi' ) ;

După aceea, vom numi „ Test() ” prin trecerea șirului ” str2 ” ca argument.

a fost an = regPattern. Test ( str2 ) ;

Apoi, utilizați instrucțiunea condiționată pentru a verifica dacă șirurile sunt egale sau nu:

dacă ( an ) {
consolă. Buturuga ( „str1 este egal cu str2” ) ;
} altfel {
consolă. Buturuga ( „str1 nu este egal cu str2” ) ;
}

Ieșire

Dacă doriți să comparați un șir cu un alt șir ca subșir, trebuie să urmați secțiunea de mai jos.

Metoda 4: Comparați două șiruri folosind metoda includes().

Pentru a determina dacă șirul este un subșir al celuilalt șir, JavaScript oferă o metodă predefinită numită „ include () ” metoda. Ia un șir ca argument și dă o valoare booleană „ Adevărat ” dacă există în șir; altfel, revine” fals ”.

Sintaxă

Urmați metoda furnizată mai jos pentru a utiliza metoda includes():

str1. include ( str2 ) ;

Aici, ' str2 ” este șirul care verifică dacă este inclus sau face parte din „ str1 ”:

Exemplu

Aici, mai întâi, vom crea două șiruri, „str1” și „str2” și verificați dacă al doilea șir este un subșir al primului sau nu:

a fost str1 = „LinuxHint” ;
a fost str2 = 'în' ;

Pentru aceasta, sunați la metoda „includes()” prin trecerea „str2” ca argument:

consolă. Buturuga ( str1. include ( str2 ) ) ;

Ieșirea oferă „ Adevărat ' care indică faptul că ' str2 ' este partea din ' str1 ”:

Am compilat toate metodele de comparare a două șiruri JavaScript.

Concluzie

Pentru a compara două șiruri JavaScript, puteți utiliza metoda localeCompare(), operatorul de egalitate strictă, metoda RegEx cu test() sau metoda includes(). Operatorul de egalitate strictă efectuează o comparație care ține seama de majuscule și minuscule, în timp ce metoda test() și metoda localeCompare() efectuează comparația care nu ține seama de majuscule și minuscule. În cele din urmă, metoda includes() verifică șirul ca subșir într-un alt șir. În acest articol, am demonstrat metodele de comparare a două șiruri în JavaScript cu exemple adecvate.