[Vannak olyan helyzetek, amikor a fejlesztőknek két karakterláncot kell összehasonlítaniuk. A legtöbb programozó gyakran elköveti azt a hibát, hogy megpróbálja összehasonlítani a karakterláncait JavaScriptben az == operátor használatával. Az == operátornak vannak korlátozásai ebben a helyzetben, mivel a változótípusok nem érvényesíthetők vele. Ezért előfordulhat, hogy más módszereket kell keresnie a helyzet kezelésére.
Ez a cikk bemutatja a karakterláncok JavaScriptben történő összehasonlításának eljárását.
Hogyan hasonlítsunk össze két karakterláncot a JavaScriptben?
Két JavaScript-sztring összehasonlításához használja a következő felsorolt módszereket:
- szigorú egyenlőség operátor „===”
- localeCompare() metódus
- RegEx teszt() metódussal
- include() metódus
Vizsgáljuk meg az egyes módszerek működését külön-külön.
1. módszer: Hasonlítson össze két karakterláncot szigorú egyenlőség operátorral
A szigorú egyenlőség operátor (===) használható annak ellenőrzésére, hogy a karakterláncok egyenlőek-e vagy sem. Ha a karakterláncok különböznek, akkor false értéket ad vissza kimenetként; különben igazat ad. Mivel ez egy kis- és nagybetű érzékeny módszer, a karakterláncok összehasonlítása során a betűk kis- és nagybetűit is összehasonlítja, ami azt jelenti, hogy a kis- és nagybetűket különbözőnek tekintjük.
Szintaxis
Használja az alábbi szintaxist két karakterlánc összehasonlításához a szigorú egyenlőség operátor használatával:
str1 === str2 ;Itt a „ === ” operátor összehasonlítja az str1 és str2 értékét és adattípusát.
Példa
Ebben a példában összehasonlítjuk a két karakterláncot, az egyik nagybetűs, a másik kisbetűs. Ehhez először két változót hozunk létre „str1” és „str2” amely karakterláncokat tárol' LinuxHint ” és „ linuxhint ”:
volt str1 = 'LinuxHint' ;volt str2 = 'linux' ;
Ezután hívja a ' console.log() ” módszer az eredmény kinyomtatására, amely megmondja, hogy a karakterláncok egyenlőek-e vagy sem a „ === ' operátor:
konzol. log ( str1 === str2 ) ;A kimeneten megjelenik: „ hamis ', ami azt jelzi, hogy a karakterláncok nem egyenlőek, mert az egyenlőség operátor kis- és nagybetűk közötti összehasonlítást hajt végre:
Ha kis- és nagybetűket nem érző összehasonlítást szeretne végezni a karakterláncok között, kövesse az alábbi módszereket.
2. módszer: Hasonlítson össze két karakterláncot a localeCompare() módszerrel
' localeCompare() ” egy JavaScript előre definiált módszer, amelyet két karakterlánc összehasonlítására használnak. Kis- és nagybetűket nem érzékeny karakterlánc-összehasonlítást hajt végre, és az aktuális területi beállítást használja két karakterlánc összehasonlításához.
Szintaxis
Kövesse az alábbi szintaxist két karakterlánc összehasonlításához a localeCompare() metódussal:
str1. localeCompare ( str2 ) ;Itt, ' str2 ' az a karakterlánc, amelyet a következővel fognak összehasonlítani str1 ”:
Példa
Most ugyanazokat a karakterláncokat fogjuk használni, amelyeket az előző példában már létrehoztunk, majd összehasonlítjuk őket a ' localeCompare() ” módszer a feltételes operátor segítségével:
ha ( str1. localeCompare ( str2 ) ) {konzol. log ( 'str1 egyenlő str2-vel' ) ;
} más {
konzol. log ( 'str1 nem egyenlő str2-vel' ) ;
}
Amint látható, a kimenet azt jelzi, hogy a karakterláncok egyenlőek, mivel a módszer összehasonlítja a kis- és nagybetűk közötti összehasonlítást:
Térjünk át a következő módszerre!
3. módszer: Hasonlítson össze két karakterláncot a RegExp használatával a test() módszerrel
Van egy másik módszer is két karakterlánc összehasonlítására, amely a kis- és nagybetűk megkülönböztetését is végrehajtja, az úgynevezett ' RegExp ' segítségével a ' teszt() ” módszerrel. Ellenőrzi a karakterláncok egyenlőségét a definiált reguláris kifejezés alapján. A test() metódus egy karakterláncot fogad el argumentumként az összehasonlításhoz.
Szintaxis
Kövesse a test() metódus megadott szintaxisát a RegEx és a test() metódus használatával:
regPattern. teszt ( str2 ) ;Itt, ' str2 ' az a karakterlánc, amelyet a következővel fognak összehasonlítani regPattern ”:
Példa
Most létrehozzuk a RegExp egy példányát egy karakterlánc átadásával str1 'és egy reguláris kifejezés' GI ', amely jelzi a kis- és nagybetűk közötti összehasonlítást, és egy változóban tárolja regPattern ”:
volt regPattern = új RegExp ( str1 , 'GI' ) ;Ezt követően hívjuk a „ teszt() 'metódus a karakterlánc átadásával' str2 ” érvként.
volt év = regPattern. teszt ( str2 ) ;Ezután a feltételes utasítással ellenőrizze, hogy a karakterláncok egyenlőek-e vagy sem:
ha ( év ) {konzol. log ( 'str1 egyenlő str2-vel' ) ;
} más {
konzol. log ( 'str1 nem egyenlő str2-vel' ) ;
}
Kimenet
Ha egy karakterláncot szeretne összehasonlítani egy másik karakterlánccal, akkor kövesse az alábbi részt.
4. módszer: Hasonlítson össze két karakterláncot az include() módszerrel
Annak meghatározására, hogy a karakterlánc a másik karakterlánc részkarakterlánca-e, a JavaScript egy előre definiált metódust biztosít, amelyet a ' magába foglalja() ” módszerrel. Egy karakterláncot vesz fel argumentumként, és logikai értéket ad ' igaz ” ha létezik a karakterláncban; különben visszatér' hamis ”.
Szintaxis
Kövesse az alábbi módszert az include() metódus használatához:
str1. magába foglalja ( str2 ) ;Itt, ' str2 ' az a karakterlánc, amely ellenőrzi, hogy benne van-e vagy része a ' str1 ”:
Példa
Itt először két karakterláncot hozunk létre, „str1” és „str2” és ellenőrizze, hogy a második karakterlánc az első részkarakterlánca-e vagy sem:
volt str1 = 'LinuxHint' ;volt str2 = 'ban ben' ;
Ehhez hívja a Az 'includes()' metódus az 'str2' átadásával érvként:
konzol. log ( str1. magába foglalja ( str2 ) ) ;A kimenet a következőt adja: igaz ', ami azt jelzi, hogy a ' str2 ' része a ' str1 ”:
Összeállítottuk az összes módszert két JavaScript-sztring összehasonlítására.
Következtetés
Két JavaScript-sztring összehasonlításához használhatja a localeCompare() metódust, a szigorú egyenlőség operátort, a RegEx a test() metódussal vagy az include() metódust. A szigorú egyenlőség operátor a kis- és nagybetűk megkülönböztetését végzi, míg a test() metódus és a localeCompare() metódus a kis- és nagybetűk megkülönböztetését. Végül az include() metódus egy másik karakterlánc részkarakterláncaként ellenőrzi a karakterláncot. Ebben a cikkben bemutattuk a JavaScript két karakterláncának összehasonlításának módszereit megfelelő példákkal.