[Yra keletas situacijų, kai kūrėjams reikia palyginti dvi eilutes. Daugelis programuotojų dažnai daro klaidą bandydami palyginti savo eilutes „JavaScript“ naudodami operatorių ==. Operatorius == šioje situacijoje turi tam tikrų apribojimų, nes naudojant jį negalima patvirtinti kintamųjų tipų. Taigi, jums gali tekti ieškoti kitų būdų, kaip išspręsti situaciją.
Šiame straipsnyje bus parodyta „JavaScript“ eilučių palyginimo procedūra.
Kaip palyginti dvi eilutes „JavaScript“?
Norėdami palyginti dvi „JavaScript“ eilutes, naudokite šiuos išvardytus metodus:
Panagrinėkime kiekvieno metodo veikimą atskirai.
1 būdas: palyginkite dvi eilutes naudodami griežtą lygybės operatorių
Griežtas lygybės operatorius (===) gali būti naudojamas norint patikrinti, ar eilutės yra lygios, ar ne. Jei eilutės skiriasi, ji grąžina false kaip išvestį; kitu atveju tai duoda tiesa. Kadangi tai yra didžiųjų ir mažųjų raidžių skyrimo metodas, lyginant eilutes, lyginamos ir raidžių didžiosios ir mažosios raidės, o tai reiškia, kad mažosios ir didžiosios raidės laikomos skirtingomis.
Sintaksė
Naudokite toliau pateiktą sintaksę, kad palygintumėte dvi eilutes naudodami griežtą lygybės operatorių:
str1 === str2 ;Čia „ === ” operatorius palygins str1 ir str2 reikšmę ir duomenų tipą.
Pavyzdys
Šiame pavyzdyje palyginsime dvi eilutes, kurių viena yra didžiosiomis, o kita - mažosiomis raidėmis. Norėdami tai padaryti, pirmiausia sukursime du kintamuosius pavadinimus „str1“ ir „str2“ kuriame saugomos eilutės“ LinuxHint “ ir „ linuxhint “:
buvo str1 = 'LinuxHint' ;buvo str2 = 'Linux' ;
Tada skambinkite „ console.log() ' metodas rezultatui spausdinti, kuris parodo, ar eilutės yra lygios, ar ne, naudojant ' === ' operatorius:
konsolė. žurnalas ( str1 === str2 ) ;Išvestis rodo „ klaidinga “, kuris rodo, kad eilutės nėra lygios, nes lygybės operatorius atlieka didžiųjų ir mažųjų raidžių palyginimą:
Jei norite palyginti eilutes neskiriant didžiųjų ir mažųjų raidžių, turite vadovautis toliau pateiktais metodais.
2 būdas: palyginkite dvi eilutes naudodami localeCompare() metodą
“ localePalyginti () “ yra „JavaScript“ iš anksto nustatytas metodas, naudojamas dviejų eilučių palyginimui. Jis atlieka didžiųjų ir mažųjų raidžių nejautrų eilučių palyginimą ir naudoja dabartinę lokalę, kad palygintų dvi eilutes.
Sintaksė
Norėdami palyginti dvi eilutes naudodami localeCompare() metodą, vadovaukitės toliau nurodyta sintaksė:
str1. localePalyginti ( str2 ) ;Čia, ' str2 “ yra eilutė, kuri bus lyginama su „ str1 “:
Pavyzdys
Dabar naudosime tas pačias eilutes, kurios jau buvo sukurtos ankstesniame pavyzdyje, ir palyginsime jas naudodami „ localePalyginti () “ metodas naudojant sąlyginį operatorių:
jeigu ( str1. localePalyginti ( str2 ) ) {konsolė. žurnalas ( 'str1 yra lygus str2' ) ;
} Kitas {
konsolė. žurnalas ( 'str1 nėra lygus str2' ) ;
}
Kaip matote, išvestis rodo, kad eilutės yra lygios, nes metodas lygina palyginimą be didžiųjų ir mažųjų raidžių:
Pereikime prie kito metodo!
3 būdas: palyginkite dvi eilutes naudodami RegExp su test() metodu
Yra dar vienas dviejų eilučių palyginimo metodas, kuris taip pat atlieka palyginimą neskiriant didžiųjų ir mažųjų raidžių, vadinamas „ RegExp “, naudojant “ testas () “ metodas. Jis tikrina eilučių lygybę pagal apibrėžtą reguliariąją išraišką. Test() metodas priims eilutę kaip palyginimo argumentą.
Sintaksė
Vykdykite nurodytą test() metodo sintaksę naudodami RegEx su metodu test().
regPattern. bandymas ( str2 ) ;Čia, ' str2 “ yra eilutė, kuri bus lyginama su „ regPattern “:
Pavyzdys
Dabar sukursime RegExp egzempliorių perduodant eilutę ' str1 “ ir reguliarioji išraiška “ gi “, kuris nurodo palyginimą, kuriame neskiriamos didžiosios ir mažosios raidės, ir išsaugo jį kintamajame „ regPattern “:
buvo regPattern = naujas RegExp ( str1 , 'gi' ) ;Po to mes paskambinsime „ testas () 'metodas perduodant eilutę' str2 “ kaip argumentą.
buvo metų = regPattern. bandymas ( str2 ) ;Tada naudokite sąlyginį teiginį, kad patikrintumėte, ar eilutės yra lygios, ar ne:
jeigu ( metų ) {konsolė. žurnalas ( 'str1 yra lygus str2' ) ;
} Kitas {
konsolė. žurnalas ( 'str1 nėra lygus str2' ) ;
}
Išvestis
Jei norite palyginti eilutę su kita eilute kaip eilutę, turite vadovautis toliau pateiktu skyriumi.
4 būdas: palyginkite dvi eilutes naudodami include() metodą
Norėdami nustatyti, ar eilutė yra kitos eilutės poeilutė, „JavaScript“ pateikia iš anksto nustatytą metodą, vadinamą „ apima() “ metodas. Jis naudoja eilutę kaip argumentą ir suteikia loginę reikšmę “ tiesa ” jei eilutėje yra; kitu atveju jis grįžta ' klaidinga “.
Sintaksė
Norėdami naudoti įtraukimo () metodą, vadovaukitės toliau pateiktu metodu:
str1. apima ( str2 ) ;Čia, ' str2 “ yra eilutė, kuri tikrina, ar ji įtraukta, ar dalis „ str1 “:
Pavyzdys
Čia pirmiausia sukursime dvi eilutes, „str1“ ir „str2“ ir patikrinkite, ar antroji eilutė yra pirmosios eilutės poeilutė, ar ne:
buvo str1 = 'LinuxHint' ;buvo str2 = 'į' ;
Norėdami tai padaryti, skambinkite 'Includes ()' metodas perduodamas 'str2' kaip argumentas:
konsolė. žurnalas ( str1. apima ( str2 ) ) ;Išvestis suteikia „ tiesa “, kuris rodo, kad „ str2 “ yra dalis „ str1 “:
Mes sudarėme visus metodus, kaip palyginti dvi „JavaScript“ eilutes.
Išvada
Norėdami palyginti dvi „JavaScript“ eilutes, galite naudoti metodą localeCompare(), griežtą lygybės operatorių, RegEx su metodu test() arba include() metodą. Griežtas lygybės operatorius atlieka didžiųjų ir mažųjų raidžių palyginimą, o metodas test() ir metodas localeCompare() atlieka palyginimą be didžiųjų ir mažųjų raidžių. Galiausiai, metodas include() patikrina eilutę kaip kitos eilutės poeilelę. Šiame straipsnyje mes parodėme dviejų „JavaScript“ eilučių palyginimo metodus su tinkamais pavyzdžiais.