Rakstot kodu, izstrādātājam bieži vien ir jāsalīdzina divas virknes, lai nodrošinātu konkrētu uzdevumu izpildi. Virkņu salīdzināšana, nepievēršot uzmanību to reģistriem, piemēram, lielajiem un mazajiem burtiem, ir pazīstams kā reģistrjutīgs salīdzinājums. Daudzas valodas atbalsta virkņu salīdzināšanu ar reģistrjutību un nejutīgumu.
Šajā rakstā tiks ilustrētas metodes JavaScript virkņu salīdzināšanai, kas nav reģistrjutīga.
Kā JavaScript programmā veikt nejutīgu virkņu salīdzināšanu?
Lai JavaScript virknes salīdzinātu reģistrjutīgos, izmantojiet šādas iepriekš definētas metodes:
-
- localeCompare() metode
- toUpperCase() un toLowerCase() metode
- Regulāra izteiksme ar test() metodi
Apskatīsim katras iepriekšminētās pieejas darbību atsevišķi.
1. metode: reģistrjutīgo virkņu salīdzinājums, izmantojot metodi LocaleCompare()
Salīdzinot virknes, kurās nav reģistrjutīga, tiek izmantots “ localeCompare() ” metode. Šī metode atgriež skaitli (pozitīvu, negatīvu vai nulli). Virknes tiek salīdzinātas kārtošanas secībā, ja atsauces virkne ir garāka par salīdzināšanas virkni vai nāk aiz salīdzināmās virknes, tā dod pozitīvu skaitli. Ja atsauces virkne ir īsāka vai atrodas pirms salīdzināmās virknes, tā atgriež negatīvu skaitli. Ja atsauces virkne ir līdzvērtīga salīdzināmajai virknei, jāatgriež nulle.
Sintakse
Izpildiet norādīto sintaksi localeCompare() metodei:
string1.localeSalīdzināt ( string2, lokalizācijas, opcijas )
Šeit,
-
- ' stīga2 ” ir salīdzināšanas virkne, kurā tiks salīdzināta 1. virkne.
- ' vietējā ” ir valodas atzīme.
- ' iespējas ” ir lokalizācija, ko nodrošina lietotājs, strādājot ar to.
Piemērs
Izveidojiet divas virknes ' string1 ' un ' stīga2 ”, ar stīgām “ linuxhint ' un ' LinuxHint ” attiecīgi:
var string1 = 'linux' ;var string2 = 'LinuxHint' ;
Salīdziniet virkni1 ar virkni2, izmantojot ' localeCompare() ' metodi un saglabājiet rezultātu mainīgajā ' sast ”. Trešais metodes arguments tiks iestatīts kā ' jutība: 'bāze' ”, kas norāda, ka salīdzinātās virknes pamatburti neatšķiras:
Nosacītā priekšrakstā pārbaudiet, vai metodes localeCompare() atgrieztā vērtība ir līdzvērtīga nullei, tas izdrukā ' Stīgas ir vienādas ”, cits, “ Stīgas nav vienādas ”:
console.log ( 'Stīgas ir vienādas' ) ;
} cits {
console.log ( 'Stīgas nav vienādas' ) ;
}
Izvade
2. metode: reģistrjutīgo virkņu salīdzinājums, izmantojot toUpperCase() un toLowerCase() metodi
Visbiežāk izmantotās pieejas, lai salīdzinātu virknes bez reģistrjutīgajiem burtiem, ir metode toUpperCase() vai toLowerCase() metode. Viņi pārveido virknes lielos vai mazajos burtos un pēc tam salīdzina ar stingru vienlīdzības operatoru palīdzību.
Sintakse
ToUpperCase() metodei izmantojiet šādu metodi:
string.toUpperCase ( ) ;
Izmantojiet tālāk norādīto sintaksi metodei toLowerCase().
Piemērs: reģistrjutīgo virkņu salīdzinājums, izmantojot toUpperCase() metodi
Apsveriet iepriekš izveidotās virknes ' string1 ' un ' stīga2 ” un pēc tam salīdziniet tos, izmantojot metodi toUpperCase() ar stingru vienlīdzības operatoru:
ja ( string1.toUpperCase ( ) === string2.toUpperCase ( ) ) {console.log ( 'Stīgas ir vienādas' ) ;
} cits {
console.log ( 'Stīgas nav vienādas' ) ;
}
Izvade norāda, ka abas virknes ir vienādas, ignorējot reģistru:
Piemērs: reģistrjutīgo virkņu salīdzinājums, izmantojot toLowerCase() metodi
Šeit virknes tiek salīdzinātas, izmantojot metodi toLowerCase(), kas vispirms pārveidos virknes mazajos burtos un pēc tam salīdzinās, izmantojot === operatoru:
ja ( string1.toLowerCase ( ) === string2.toLowerCase ( ) ) {console.log ( 'Stīgas ir vienādas' ) ;
} cits {
console.log ( 'Stīgas nav vienādas' ) ;
}
Atbilstošā izvade būs:
3. metode: reģistrjutīga virkņu salīdzināšana, izmantojot regulāro izteiksmi ar test() metodi
Iepriekš definētais JavaScript ' pārbaude() ” metode, kurā tiek izmantota regulāra izteiksme, ir vēl viens veids, kā salīdzināt divas virknes. Pamatojoties uz norādīto regulāro izteiksmi, tas nosaka, vai virknes ir vienādas vai nē.
Sintakse
Ievērojiet norādīto sintakse, lai izmantotu regulāro izteiksmi, lai salīdzinātu virknes:
RegExp ( aukla, 'gi' )
Šeit,
-
- ' RegExp ' apzīmē ' regulāra izteiksme ”.
- ' g ” ir globālais mainīgais, kas ļauj pārbaudīt visas virknes.
- ' i ” ir karoga mainīgais, kas norāda, ka reģistrs ir jāignorē, izmantojot virkni, lai atbilstu modelim.
Piemērs
Vispirms izveidojiet jaunu RegExp() objektu, nododot virkni un regulāro izteiksmi kā argumentu:
var comp = jauns RegExp ( string1, 'gi' ) ;
Salīdziniet virknes, izmantojot test() metodi:
console.log ( 'Stīgas ir vienādas' ) ;
} cits {
console.log ( 'Stīgas nav vienādas' ) ;
}
Izvade
Secinājums
Lai salīdzinātu reģistrjutīgās virknes JavaScript, izmantojiet JavaScript iepriekš definētas metodes, tostarp metodi localeCompare(), metodi toUpperCase() un toLowerCase() vai metodi test() ar regulāro izteiksmi. Metodes “toUpperCase() un toLowerCase()” ir visbiežāk izmantotā metode divu reģistrjutīgo virkņu salīdzināšanai. Šajā rakstā ir ilustrēti dažādi veidi, kā JavaScript virknes salīdzināt reģistrjutīgos.