Yapay Gezegen

JavaScript String Metodları: localeCompare()

localeCompare() Metodu

localeCompare: string ifadeleri dil ve yerel ayarlara göre karşılaştırmayı sağlar. Karşılaştırılmak istenen ifade önce geliyorsa: -1, aynı ise: 0, sonra geliyorsa: 1 değerini döner. İsteğe bağlı olarak 2 parametre alır. locales ile dil tercihi, options ile karşılaştırma biçimleri belirlenebilir.

let ifade1 = "a"

let ifade2 = "b"

let ifade3 = "a"

ifade1.localeCompare(ifade2) // -1

ifade1.localeCompare(ifade3) // 0

ifade2.localeCompare(ifade3) // 1

String ifadeleri alfabetik olarak sıralama yaparken, yerel dil kurallarına göre doğru karşılaştırma yapmaya olanak tanır. Örnek olarak: Türkçe'de "ı" harfi ve "i" harfi farklı sırlanır.

let ifade4 = "ı"

let ifade5 = "i"

ifade4.localeCompare(ifade5) // -1 -> Türk alfabesinde ı harfi i harfinden önce gelir

locales

localeCompare ile farklı dillerin yerel alfabetik sıralaması yapaken, locales parametresine değer atamamız gerekir. Değer atanmadığı durumda yerel dil seçeneği varsayılan olarak kullanılır. Türkçe bir tarayıcı kullandığınızı varsayarak, İngilizce diline göre karşılaştırma örneği yapalım.

let ifade6 = "orange"

let ifade7 = "yellow"

ifade6.localeCompare(ifade7, "en") // -1 -> İngiliz alfabesinde o harfi y harfinden önce gelir

options

options parametresi, karşılaştırma biçimleri için çeşitli seçenekler sunar. Büyük küçük harfler, aksanlar, noktalama işaretleri, sayısal ifadeler gibi özelliklerin belirlenmesini sağlar.

let ifade7 = "a"

let ifade8 = "A"

ifade7.localeCompare(ifade8) // -1 -> Türk alfabesinde a harfi A harfinden önce gelir

ifade7.localeCompare(ifade8, "tr", { sensitivity: "base" }) // 0 -> Büyük küçük harf duyarlılığı kaldırıldı
let ifade9 = "Yapay Gezegen"

let ifade10 = "Yapay, Gezegen"

ifade9.localeCompare(ifade10) // -1

ifade9.localeCompare(ifade10, "tr", { ignorePunctuation: "true" }) // 0 -> , işareti dahil edilmediği için ifadeler eşit oldu
let ifade11 = "2"

let ifade12 = "10"

ifade11.localeCompare(ifade12) // 1

ifade11.localeCompare(ifade12, "tr", { numeric: "true" }) // -1 -> 2'nin doğal değeri 10'dan sonra önce gelir
let ifade13 = "elma"

let ifade14 = "Elma"

ifade13.localeCompare(ifade14) // -1 -> küçük harf önce gelir

ifade13.localeCompare(ifade14, "tr", { caseFirst: "upper" }) // 1 -> upper ile büyük harf önceliği sağlandı
Array Metodları: concat() & (...) spread operatörü