[Postoje neke situacije u kojima programeri moraju usporediti dva niza. Većina programera često griješi pokušavajući usporediti svoje nizove u JavaScriptu koristeći == operator. Operator == ima neka ograničenja u ovoj situaciji jer se tipovi varijabli ne mogu potvrditi pomoću njega. Dakle, možda ćete morati potražiti druge metode za rješavanje situacije.
Ovaj će članak pokazati postupak za usporedbu nizova u JavaScriptu.
Kako usporediti dva niza u JavaScriptu?
Za usporedbu dva JavaScript niza koristite sljedeće navedene metode:
- striktni operator jednakosti “===”
- metoda localeCompare().
- RegEx s test() metodom
- uključuje() metodu
Ispitajmo rad svake metode zasebno.
1. metoda: Usporedite dva niza pomoću operatora striktne jednakosti
Strogi operator jednakosti (===) može se koristiti za provjeru jesu li nizovi jednaki ili ne. Ako su nizovi različiti, vraća false kao izlaz; inače daje istinito. Budući da je to metoda koja razlikuje velika i mala slova, pri usporedbi nizova uspoređuje i velika i velika slova, što znači da se mala i velika slova smatraju različitima.
Sintaksa
Upotrijebite sljedeću sintaksu za usporedbu dva niza koristeći striktni operator jednakosti:
str1 === str2 ;Ovdje, ' === ” operator će usporediti vrijednost i tip podataka str1 i str2.
Primjer
U ovom primjeru, usporedit ćemo dva niza, jedan je napisan velikim slovima, a drugi je napisan malim slovima. Da bismo to učinili, prvo ćemo stvoriti dvije varijable pod nazivom “str1” i “str2” koji pohranjuje nizove “ LinuxHint ' i ' linuxhint ”:
bio je str1 = 'LinuxHint' ;bio je str2 = 'linux' ;
Zatim nazovite ' konzola.log() ' metoda za ispis rezultata koji govori jesu li nizovi jednaki ili ne koristeći ' === ” operator:
konzola. log ( str1 === str2 ) ;Izlaz pokazuje ' lažno ” što označava da nizovi nisu jednaki jer operator jednakosti izvodi usporedbu koja razlikuje velika i mala slova:
Ako želite izvršiti usporedbu nizova bez obzira na velika i mala slova, morate slijediti dolje navedene metode.
Metoda 2: Usporedite dva niza pomoću metode localeCompare().
“ localeCompare() ” je JavaScript unaprijed definirana metoda koja se koristi za usporedbu dva niza. Izvodi usporedbu nizova bez obzira na velika i mala slova i koristi trenutnu lokalizaciju za usporedbu dva niza.
Sintaksa
Slijedite dolje navedenu sintaksu za usporedbu dva niza pomoću metode localeCompare():
str1. localeCompare ( str2 ) ;Ovdje, ' str2 ” je niz koji će se uspoređivati s „ str1 ”:
Primjer
Sada ćemo koristiti iste nizove koji su već stvoreni u prethodnom primjeru, a zatim ih usporediti pomoću ' localeCompare() ” metoda uz pomoć uvjetnog operatora:
ako ( str1. localeCompare ( str2 ) ) {konzola. log ( 'str1 je jednako str2' ) ;
} drugo {
konzola. log ( 'str1 nije jednako str2' ) ;
}
Kao što možete vidjeti da izlaz pokazuje da su nizovi jednaki jer metoda uspoređuje usporedbu koja ne razlikuje velika i mala slova:
Prijeđimo na sljedeću metodu!
Metoda 3: Usporedite dva niza koristeći RegExp s metodom test().
Postoji još jedna metoda za usporedbu dva niza koja također izvodi usporedbu bez obzira na velika i mala slova pod nazivom ' RegExp ' uz pomoć ' test() ” metoda. Provjerava jednakost nizova na temelju definiranog regularnog izraza. Metoda test() će prihvatiti niz kao argument za usporedbu.
Sintaksa
Slijedite zadanu sintaksu za metodu test() koristeći RegEx s metodom test():
regPattern. test ( str2 ) ;Ovdje, ' str2 ” je niz koji će se uspoređivati s „ regPattern ”:
Primjer
Sada ćemo stvoriti instancu RegExp-a prosljeđivanjem niza ' str1 ' i regularni izraz ' gi ” koja označava usporedbu koja nije osjetljiva na velika i mala slova i pohranjuje je u varijablu “ regPattern ”:
bio je regPattern = novi RegExp ( str1 , 'gi' ) ;Nakon toga ćemo nazvati ' test() ” metoda prosljeđivanjem niza “ str2 ” kao argument.
bio je godina = regPattern. test ( str2 ) ;Zatim upotrijebite uvjetnu naredbu da provjerite jesu li nizovi jednaki ili ne:
ako ( godina ) {konzola. log ( 'str1 je jednako str2' ) ;
} drugo {
konzola. log ( 'str1 nije jednako str2' ) ;
}
Izlaz
Ako želite usporediti niz s drugim nizom kao podniz, morate slijediti odjeljak u nastavku.
Metoda 4: Usporedite dva niza pomoću metode include().
Za određivanje je li niz podniz drugog niza, JavaScript nudi unaprijed definiranu metodu koja se zove ' uključuje () ” metoda. Uzima niz kao argument i daje Booleovu vrijednost ' pravi ” ako postoji u nizu; inače se vraća ' lažno ”.
Sintaksa
Slijedite dolje navedenu metodu za korištenje metode include():
str1. uključuje ( str2 ) ;Ovdje, ' str2 ” je niz koji provjerava da li je uključen ili dio „ str1 ”:
Primjer
Ovdje ćemo prvo stvoriti dva niza, “str1” i “str2” i provjerite je li drugi niz podniz prvog ili nije:
bio je str1 = 'LinuxHint' ;bio je str2 = 'u' ;
Za to nazovite metoda “includes()” prosljeđivanjem “str2” kao argument:
konzola. log ( str1. uključuje ( str2 ) ) ;Izlaz daje ' pravi ” što označava da je „ str2 ” je dio „ str1 ”:
Sakupili smo sve metode za usporedbu dva JavaScript niza.
Zaključak
Za usporedbu dva JavaScript niza možete koristiti metodu localeCompare(), operator striktne jednakosti, RegEx s metodom test() ili metodu includes(). Operator striktne jednakosti izvodi usporedbu koja razlikuje velika i mala slova dok metode test() i localeCompare() izvode usporedbu bez obzira na velika i mala slova. Na kraju, metoda include() provjerava niz kao podniz u drugom nizu. U ovom smo članku demonstrirali metode za usporedbu dva niza u JavaScriptu s odgovarajućim primjerima.