[Geliştiricilerin iki diziyi karşılaştırması gereken bazı durumlar vardır. Çoğu programcı, JavaScript'teki dizelerini == operatörünü kullanarak karşılaştırmaya çalışmak gibi bir hata yapar. == operatörünün bu durumda bazı kısıtlamaları vardır, çünkü değişken türleri onu kullanarak doğrulanamaz. Bu nedenle, durumu ele almak için başka yöntemler aramanız gerekebilir.
Bu makale, JavaScript'te dizeleri karşılaştırma prosedürünü gösterecektir.
JavaScript'te İki Dize Nasıl Karşılaştırılır?
İki JavaScript dizesini karşılaştırmak için aşağıdaki listelenen yöntemleri kullanın:
Her yöntemin işleyişini ayrı ayrı inceleyelim.
Yöntem 1: Katı Eşitlik İşleci Kullanarak İki Dizeyi Karşılaştırın
Kesin eşitlik operatörü (===), dizelerin eşit olup olmadığını doğrulamak için kullanılabilir. Dizeler farklıysa, çıktı olarak false döndürür; yoksa doğru verir. Büyük/küçük harfe duyarlı bir yöntem olduğundan, dizeleri karşılaştırırken harflerin büyük/küçük harflerini de karşılaştırır, bu da küçük ve büyük harflerin farklı olduğu anlamına gelir.
Sözdizimi
Katı eşitlik operatörünü kullanarak iki dizeyi karşılaştırmak için aşağıdaki sözdizimini kullanın:
str1 === str2 ;Burada, “ === ” operatörü, str1 ve str2'nin değerini ve veri tipini karşılaştıracaktır.
Örnek
Bu örnekte, biri büyük diğeri küçük harf olan iki dizeyi karşılaştıracağız. Bunu yapmak için önce adında iki değişken oluşturacağız. 'str1' ve 'str2' dizeleri depolayan ' Linuxİpucu ' ve ' linux ipucu ”:
oldu str1 = 'Linux İpucu' ;oldu str2 = 'linux' ;
Ardından, ' konsol.log() ” kullanarak, dizelerin eşit olup olmadığını söyleyen sonucu yazdırma yöntemi === ' Şebeke:
konsol. kayıt ( str1 === str2 ) ;Çıktı şunu gösterir: yanlış ” eşitlik operatörü büyük/küçük harfe duyarlı karşılaştırma yaptığı için dizelerin eşit olmadığını gösterir:
Dizeler arasında büyük/küçük harfe duyarsız bir karşılaştırma yapmak istiyorsanız, aşağıda verilen yöntemleri izlemeniz gerekir.
Yöntem 2: localeCompare() Yöntemini Kullanarak İki Dizeyi Karşılaştırın
“ yerel ayarKarşılaştır() ”, iki dizeyi karşılaştırmak için kullanılan önceden tanımlanmış bir JavaScript yöntemidir. Büyük/küçük harfe duyarsız bir dize karşılaştırması gerçekleştirir ve iki dizeyi karşılaştırmak için geçerli yerel ayarı kullanır.
Sözdizimi
localeCompare() yöntemini kullanarak iki dizeyi karşılaştırmak için aşağıda belirtilen sözdizimini izleyin:
str1. yerel Karşılaştır ( str2 ) ;Burada, ' str2 ” ile karşılaştırılacak dizedir str1 ”:
Örnek
Şimdi önceki örnekte oluşturulmuş olan aynı dizeleri kullanacağız ve ardından bunları “ kullanarak karşılaştıracağız. yerel ayarKarşılaştır() Koşullu operatör yardımı ile yöntem:
eğer ( str1. yerel Karşılaştır ( str2 ) ) {konsol. kayıt ( 'str1, str2'ye eşittir' ) ;
} başka {
konsol. kayıt ( 'str1, str2'ye eşit değil' ) ;
}
Gördüğünüz gibi, yöntem büyük/küçük harfe duyarlı olmayan karşılaştırmayı karşılaştırdığı için çıktının dizelerin eşit olduğunu gösterdiğini gösterir:
Bir sonraki yönteme geçelim!
Yöntem 3: RegExp Kullanarak İki Dizeyi test() Yöntemiyle Karşılaştırın
İki dizgiyi karşılaştırmak için, büyük/küçük harfe duyarsız karşılaştırma da yapan, 'adlı başka bir yöntem daha vardır. Normalİfade ” yardımıyla” Ölçek() ' yöntem. Tanımlanan normal ifadeye göre dizelerin eşitliğini kontrol eder. test() yöntemi, karşılaştırma için bir argüman olarak bir dize kabul eder.
Sözdizimi
RegEx'i test() yöntemiyle kullanarak test() yöntemi için verilen sözdizimini izleyin:
regPattern. Ölçek ( str2 ) ;Burada, ' str2 ” ile karşılaştırılacak dizedir regPattern ”:
Örnek
Şimdi, “ dizesini ileterek bir RegExp örneği oluşturacağız. str1 ” ve bir normal ifade” gi ” bu, büyük/küçük harfe duyarsız karşılaştırmayı gösterir ve onu bir değişkende saklar” regPattern ”:
oldu regPattern = yeni Normalİfade ( str1 , 'gi' ) ;Bundan sonra arayacağız “ Ölçek() ” dizesini geçirerek yöntem str2 ” bir argüman olarak.
oldu yıl = regPattern. Ölçek ( str2 ) ;Ardından, dizelerin eşit olup olmadığını doğrulamak için koşullu ifadeyi kullanın:
eğer ( yıl ) {konsol. kayıt ( 'str1, str2'ye eşittir' ) ;
} başka {
konsol. kayıt ( 'str1, str2'ye eşit değil' ) ;
}
Çıktı
Bir dizeyi başka bir dize ile alt dize olarak karşılaştırmak istiyorsanız, aşağıdaki bölümü izlemelisiniz.
Yöntem 4: include() Yöntemini Kullanarak İki Dizeyi Karşılaştırın
Dizenin diğer dizenin alt dizesi olup olmadığını belirlemek için JavaScript, ' adlı önceden tanımlanmış bir yöntem sağlar. içerir() ' yöntem. Argüman olarak bir dize alır ve bir boole değeri verir ' doğru ” dizesinde varsa; yoksa döner” yanlış ”.
Sözdizimi
include() yöntemini kullanmak için aşağıda sağlanan yöntemi izleyin:
str1. içerir ( str2 ) ;Burada, ' str2 ”, dahil edilip edilmediğini veya “ öğesinin bir parçası olup olmadığını kontrol eden dizedir. str1 ”:
Örnek
Burada ilk önce iki string oluşturacağız, 'str1' ve 'str2' ve ikinci dizenin birincinin bir alt dizisi olup olmadığını kontrol edin:
oldu str1 = 'Linux İpucu' ;oldu str2 = 'içinde' ;
Bunun için, arayın “str2”yi geçerek “includes()” yöntemini argüman olarak:
konsol. kayıt ( str1. içerir ( str2 ) ) ;Çıktı verir “ doğru ” anlamına gelen “ str2 ” kısmıdır” str1 ”:
İki JavaScript dizesini karşılaştırmak için tüm yöntemleri derledik.
Çözüm
İki JavaScript dizesini karşılaştırmak için localeCompare() yöntemini, katı eşitlik operatörünü, RegEx with test() yöntemini veya include() yöntemini kullanabilirsiniz. Kesin eşitlik operatörü büyük/küçük harfe duyarlı karşılaştırma gerçekleştirirken test() yöntemi ve localeCompare() yöntemi büyük/küçük harfe duyarlı olmayan karşılaştırmayı gerçekleştirir. Son olarak, include() yöntemi, dizeyi başka bir dizede bir alt dize olarak kontrol eder. Bu makalede, JavaScript'teki iki dizeyi uygun örneklerle karşılaştırma yöntemlerini gösterdik.