Kuinka vertailla kahta merkkijonoa JavaScriptissä

Kuinka Vertailla Kahta Merkkijonoa Javascriptissa



[On tilanteita, joissa kehittäjien on verrattava kahta merkkijonoa. Useimmat ohjelmoijat tekevät usein virheen yrittäessään vertailla merkkijonojaan JavaScriptissä käyttämällä ==-operaattoria. ==-operaattorilla on joitain rajoituksia tässä tilanteessa, koska muuttujatyyppejä ei voida validoida sen avulla. Joten saatat joutua etsimään muita tapoja käsitellä tilannetta.

Tämä artikkeli esittelee menetelmän merkkijonojen vertailuun JavaScriptissä.







Kuinka verrata kahta merkkijonoa JavaScriptissä?

Käytä seuraavia lueteltuja menetelmiä kahden JavaScript-merkkijonon vertailuun:



Tarkastellaan jokaisen menetelmän toimintaa erikseen.



Tapa 1: Vertaa kahta merkkijonoa käyttämällä tiukkaa tasa-arvooperaattoria

Tiukkaa tasa-arvooperaattoria (===) voidaan käyttää vahvistamaan, ovatko merkkijonot yhtä suuret vai eivät. Jos merkkijonot ovat erilaisia, se palauttaa tuloksena false; muuten se pitää paikkansa. Koska kyseessä on isot ja pienet kirjaimet, se vertailee merkkijonoja verrattaessa myös kirjainten kirjainkokoa, mikä tarkoittaa, että pieniä ja isoja kirjaimia pidetään erilaisina.





Syntaksi

Käytä alla olevaa syntaksia vertaillaksesi kahta merkkijonoa käyttämällä tiukkaa tasa-arvooperaattoria:

str1 === str2 ;

Täällä ' === ”-operaattori vertaa str1:n ja str2:n arvoa ja tietotyyppiä.



Esimerkki

Tässä esimerkissä vertaamme kahta merkkijonoa, joista toinen on isoilla kirjaimilla ja toinen pienillä kirjaimilla. Tätä varten luomme ensin kaksi muuttujaa nimeltä 'str1' ja 'str2' joka tallentaa merkkijonoja' LinuxHint ' ja ' linuxhint ':

oli str1 = 'LinuxHint' ;
oli str2 = 'linux' ;

Soita sitten ' console.log() ' -menetelmä tulostuksen tulostamiseen, joka kertoo, ovatko merkkijonot yhtä suuret vai eivät käyttämällä ' === ”operaattori:

konsoli. Hirsi ( str1 === str2 ) ;

Tulosteessa näkyy ' väärä ', mikä osoittaa, että merkkijonot eivät ole samanarvoisia, koska yhtäläisyysoperaattori suorittaa isot ja pienet kirjaimet vertailun:

Jos haluat suorittaa merkkijonojen välisen vertailun kirjainkoolla, sinun on noudatettava alla annettuja menetelmiä.

Tapa 2: Vertaa kahta merkkijonoa localeCompare()-menetelmällä

' localeCompare() ” on JavaScriptin ennalta määritetty menetelmä, jota käytetään kahden merkkijonon vertailuun. Se suorittaa merkkijonovertailun, jossa kirjainkoolla ei ole merkitystä, ja käyttää nykyistä aluetta kahden merkkijonon vertailuun.

Syntaksi

Noudata alla mainittua syntaksia vertaillaksesi kahta merkkijonoa localeCompare()-menetelmällä:

str1. localeVertaa ( str2 ) ;

Täällä, ' str2 ' on merkkijono, jota verrataan ' str1 ':

Esimerkki

Käytämme nyt samoja merkkijonoja, jotka on jo luotu edellisessä esimerkissä ja vertaamme niitä sitten käyttämällä ' localeCompare() ”-menetelmä ehdollisen operaattorin avulla:

jos ( str1. localeVertaa ( str2 ) ) {
konsoli. Hirsi ( 'str1 on yhtä suuri kuin str2' ) ;
} muu {
konsoli. Hirsi ( 'str1 ei ole yhtä suuri kuin str2' ) ;
}

Kuten näet, tulos osoittaa, että merkkijonot ovat yhtä suuret, koska menetelmä vertaa kirjainkoolla olevaa vertailua:

Siirrytään seuraavaan menetelmään!

Tapa 3: Vertaa kahta merkkijonoa RegExp:n avulla test()-menetelmän kanssa

On olemassa toinen menetelmä kahden merkkijonon vertailuun, joka suorittaa myös kirjainkoolla välittömän vertailun nimeltä ' RegExp '' -sovelluksen avulla testata() ”menetelmä. Se tarkistaa merkkijonojen tasa-arvon määritellyn säännöllisen lausekkeen perusteella. Test()-menetelmä hyväksyy merkkijonon vertailuargumentiksi.

Syntaksi

Noudata test()-menetelmälle annettua syntaksia käyttämällä RegEx with test()-menetelmää:

regPattern. testata ( str2 ) ;

Täällä, ' str2 ' on merkkijono, jota verrataan ' regPattern ':

Esimerkki

Nyt luomme RegExp-esiintymän välittämällä merkkijonon ' str1 ' ja säännöllinen lauseke ' gi ', joka osoittaa vertailun, jossa kirjainkoolla ei ole merkitystä ja tallentaa sen muuttujaan ' regPattern ':

oli regPattern = Uusi RegExp ( str1 , 'gi' ) ;

Sen jälkeen soitamme ' testata() 'menetelmä välittämällä merkkijono' str2 'argumenttina.

oli vuosi = regPattern. testata ( str2 ) ;

Käytä sitten ehdollista lauseketta tarkistaaksesi, ovatko merkkijonot yhtä suuret vai eivät:

jos ( vuosi ) {
konsoli. Hirsi ( 'str1 on yhtä suuri kuin str2' ) ;
} muu {
konsoli. Hirsi ( 'str1 ei ole yhtä suuri kuin str2' ) ;
}

Lähtö

Jos haluat verrata merkkijonoa toiseen merkkijonoon alimerkkijonona, sinun on noudatettava alla olevaa osaa.

Tapa 4: Vertaa kahta merkkijonoa include()-menetelmällä

Sen määrittämiseksi, onko merkkijono toisen merkkijonon alimerkkijono, JavaScript tarjoaa ennalta määritetyn menetelmän nimeltä ' sisältää () ”menetelmä. Se ottaa argumenttina merkkijonon ja antaa loogisen arvon ' totta ” jos se on merkkijonossa; muuten se palaa' väärä ”.

Syntaksi

Noudata alla annettua menetelmää käyttääksesi include()-menetelmää:

str1. sisältää ( str2 ) ;

Täällä, ' str2 ' on merkkijono, joka tarkistaa, onko se mukana vai osa ' str1 ':

Esimerkki

Tässä luomme ensin kaksi merkkijonoa, 'str1' ja 'str2' ja tarkista, onko toinen merkkijono ensimmäisen osamerkkijono vai ei:

oli str1 = 'LinuxHint' ;
oli str2 = 'sisään' ;

Tätä varten soita 'includes()' -menetelmä ohittamalla 'str2' argumenttina:

konsoli. Hirsi ( str1. sisältää ( str2 ) ) ;

Tulos antaa ' totta ', mikä osoittaa, että ' str2 ' on osa ' str1 ':

Olemme koonneet kaikki menetelmät kahden JavaScript-merkkijonon vertailuun.

Johtopäätös

Voit vertailla kahta JavaScript-merkkijonoa käyttämällä localeCompare()-menetelmää, tiukkaa tasa-arvooperaattoria, RegEx-menetelmää test()-menetelmällä tai include()-menetelmää. Tiukka tasa-arvo-operaattori suorittaa vertailun, jossa kirjainkoolla ei ole merkitystä, kun taas test()-menetelmä ja localeCompare()-menetelmä tekevät vertailun, jossa kirjainkoolla ei ole merkitystä. Lopuksi include()-menetelmä tarkistaa merkkijonon alimerkkijonona toisessa merkkijonossa. Tässä artikkelissa osoitimme menetelmiä kahden JavaScript-merkkijonon vertailuun oikeilla esimerkeillä.