Kuidas teha JavaScriptis tundetute stringide võrdlust

Kuidas Teha Javascriptis Tundetute Stringide Vordlust



Koodi kirjutamise ajal võib arendajal olla sageli vaja võrrelda kahte stringi, et tagada konkreetsete ülesannete täitmine. Stringide võrdlemist, pööramata tähelepanu nende tähtedele (nt suurtele ja väiketähtedele), nimetatakse tõstutundlikuks võrdluseks. Paljud keeled toetavad stringide võrdlemist tõstutundlikkuse ja mittetundlikkusega.

See artikkel illustreerib JavaScripti stringide tõstutundliku võrdlemise meetodeid.







Kuidas teha JavaScriptis tundetute stringide võrdlust?

JavaScripti stringide tõstutundlikuks võrdlemiseks kasutage järgmisi eelmääratletud meetodeid.



    • localeCompare() meetod
    • meetod toUpperCase() ja toLowerCase().
    • Regulaaravaldis test() meetodiga

Vaatame iga ülalnimetatud lähenemisviisi toimimist eraldi.



1. meetod: tõstutundlike stringide võrdlus, kasutades meetodit LocaleCompare()

Stringide tõstutundlik võrdlus kasutab ' localeCompare() ” meetod. See meetod tagastab arvu (positiivne, negatiivne või null). Stringe võrreldakse sortimisjärjekorras, kui võrdlusstring on pikem kui võrdlusstring või tuleb pärast võrreldavat stringi, annab see positiivse arvu. Kui võrdlusstring on lühem või enne võrreldavat stringi, tagastab see negatiivse arvu. Null tuleks tagastada, kui võrdlusstring on samaväärne võrreldava stringiga.





Süntaks

Järgige meetodi localeCompare() jaoks etteantud süntaksit:



string1.localeVõrdle ( string2, lokaadid, valikud )


Siin

    • string2 ” on võrdlusstring, kus võrreldakse stringi 1.
    • kohalik ” on keelemärgend.
    • valikuid ” on lokaadid, mille kasutaja annab sellega töötamise ajal.

Näide

Loo kaks stringi ' string1 ” ja „ string2 ', stringidega ' linuxhint ” ja „ LinuxHint ” vastavalt:

var string1 = 'linux' ;
var string2 = 'LinuxHint' ;


Võrrelge string1 string2-ga, kasutades ' localeCompare() ' meetodit ja salvestage tulemus muutujasse ' komp ”. Meetodi kolmas argument on ' tundlikkus: 'alus' ', mis näitab, et võrreldavad stringid, põhitähed ei erine:

var comp = string1.localeCompare ( string2, määramata, { tundlikkus: 'baas' } )


Kontrollige tingimuslauses, kas meetodi localeCompare() tagastatud väärtus on võrdne nulliga, see prindib ' Stringid on võrdsed ', muidu, ' Stringid ei ole võrdsed ”:

kui ( komp == 0 ) {
console.log ( 'Stringid on võrdsed' ) ;
} muidu {
console.log ( 'Stringid ei ole võrdsed' ) ;
}


Väljund

2. meetod: tõstutundlike stringide võrdlus, kasutades meetodeid toUpperCase() ja toLowerCase()

Enim kasutatavad meetodid suurtähtede mittetundlike stringide võrdlemiseks on meetod toUpperCase() või toLowerCase() meetod. Nad teisendavad stringid suur- või väiketähtedeks ja võrdlevad neid seejärel rangete võrdõiguslikkuse operaatorite abil.

Süntaks

ToUpperCase() meetodi puhul kasutage järgmist meetodit.

string.toUpperCase ( ) ;


Kasutage allolevat süntaksit meetodi toLowerCase() jaoks.

string.toLowerCase ( ) ;


Näide: tõstutundlike stringide võrdlus, kasutades meetodit toUpperCase().

Mõelge ülaltoodud stringidele ' string1 ” ja „ string2 ” ja seejärel võrrelge neid kasutades meetodit toUpperCase() range võrdsuse operaatoriga:

kui ( string1.toUpperCase ( ) === string2.toUpperCase ( ) ) {
console.log ( 'Stringid on võrdsed' ) ;
} muidu {
console.log ( 'Stringid ei ole võrdsed' ) ;
}


Väljund näitab, et mõlemad stringid on võrdsed, ignoreerides suurtähti:


Näide: tõstutundlike stringide võrdlus, kasutades meetodit toLowerCase().

Siin võrreldakse stringe meetodi toLowerCase() abil, mis teisendab stringid esmalt väiketähtedeks ja seejärel võrdleb neid operaatori === abil:

kui ( string1.toLowerCase ( ) === string2.toLowerCase ( ) ) {
console.log ( 'Stringid on võrdsed' ) ;
} muidu {
console.log ( 'Stringid ei ole võrdsed' ) ;
}


Vastav väljund on:

3. meetod: tõstutundlike stringide võrdlemine regulaaravaldise abil test() meetodiga

Eelmääratletud JavaScript ' test () ” meetod, mis kasutab regulaaravaldist, on veel üks viis kahe stringi võrdlemiseks. Määratud regexi põhjal määrab see, kas stringid on võrdsed või mitte.

Süntaks

Järgige stringide võrdlemiseks regulaaravaldise kasutamisel antud süntaksit:

RegExp ( string, 'gi' )


Siin

    • RegExp ' tähistab ' regulaaravaldis ”.
    • g ” on globaalne muutuja, mis võimaldab kontrollida kõiki stringe.
    • i ” on lipumuutuja, mis näitab, et tähte tuleks ignoreerida, kui kasutatakse mustri sobitamiseks stringi.

Näide

Esiteks looge RegExp() uus objekt, edastades argumendina stringi ja regulaaravaldise:

var comp = uus RegExp ( string1, 'gi' ) ;


Võrrelge stringe test() meetodi abil:

kui ( komp.test ( string2 ) ) {
console.log ( 'Stringid on võrdsed' ) ;
} muidu {
console.log ( 'Stringid ei ole võrdsed' ) ;
}


Väljund

Järeldus

Tõstutundlike stringide võrdlemiseks JavaScriptis kasutage JavaScripti eelmääratletud meetodeid, sealhulgas meetodit localeCompare(), meetodit toUpperCase() ja toLowerCase() või meetodit test() regulaaravaldisega. Meetodid “toUpperCase() ja toLowerCase()” on enimkasutatud meetod kahe tõstutundliku stringi võrdlemiseks. See artikkel illustreerib erinevaid viise, kuidas JavaScriptis stringe suur- ja suurtähtede mittetundlikuks võrdlemiseks kasutada.