Yerel Ayarlara Uygun Sıralama
Dizeleri Intl.Collator ile doğru şekilde sıralayın.
Yerel Ayarlara Uygun Sıralama, CoddyKit'te ücretsiz bir JavaScript Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, JavaScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. JavaScript Academy kursu toplamda 4 dersten oluşur.
Varsayılan Sıralama Neden Başarısız Olur
Dizi sort() yöntemi, dizeleri UTF-16 kod birimlerine göre karşılaştırır. Bu, büyük harfleri küçük harflerden önce sıralar ve aksanları doğru ele almaz; insanların okuyacağı listeler için yanlıştır.
const words = ["banana", "Apple", "cherry"];
console.log([...words].sort()); // ["Apple","banana","cherry"] — capital winslocaleCompare
String.prototype.localeCompare, iki dizeyi yerel ayar kurallarını kullanarak karşılaştırır ve negatif, sıfır veya pozitif bir değer döndürür.
console.log("apple".localeCompare("banana")); // -1
console.log("banana".localeCompare("apple")); // 1localeCompare ile Sıralama
İnsanların okuyacağı bir sıralama elde etmek için bunu karşılaştırıcı olarak geçirin.
const words = ["banana", "Apple", "cherry"];
console.log([...words].sort((a, b) => a.localeCompare(b)));
// ["Apple", "banana", "cherry"] — case-insensitive orderingIntl.Collator
Çok sayıda öğeyi sıralamak için Intl.Collator daha hızlıdır: bir kez oluşturun ve compare yöntemini yeniden kullanın.
const collator = new Intl.Collator("en-US");
const words = ["banana", "Apple", "cherry"];
console.log([...words].sort(collator.compare));Aksanlar ve Ayırt Edici İşaretler
collator nesneleri, kod birimi karşılaştırmasının aksine aksanlı karakterleri yerel ayara göre doğru sıraya koyar.
const words = ["zebra", "ela", "elf", "elan"];
const collator = new Intl.Collator("fr");
console.log([...words].sort(collator.compare));Duyarlılık
sensitivity, hangi farklılıkların önem taşıdığını denetler: "base" büyük/küçük harfleri ve aksanları yok sayar, "accent" yalnızca büyük/küçük harfleri yok sayar, "variant" ise tüm farklılıkları ayırt eder.
const c = new Intl.Collator("en", { sensitivity: "base" });
console.log(c.compare("apple", "APPLE")); // 0 (treated equal)Sayısal Sıralama
numeric: true, metin içine gömülü sayıları değerlerine göre sıralar; bu nedenle "dosya2", "dosya10"dan önce gelir.
const files = ["file10", "file2", "file1"];
const c = new Intl.Collator("en", { numeric: true });
console.log([...files].sort(c.compare)); // ["file1","file2","file10"]Büyük/Küçük Harf Önceliği
caseFirst: "upper" veya "lower", diğer farklılıklar eşit olduğunda büyük harflerin küçük harflerden önce sıralanıp sıralanmayacağını belirler.
const c = new Intl.Collator("en", { caseFirst: "upper" });
console.log(["b", "B", "a", "A"].sort(c.compare));Sıralamada Yerel Ayar Önemlidir
Farklı diller alfabetik sıralamayı farklı yapar. İsveççede bazı aksanlı harfler a harfinin yakınına değil, z harfinden sonra sıralanır.
const words = ["z", "a", "o"];
console.log([...words].sort(new Intl.Collator("sv").compare));usage ile Arama
usage: "search", collator'ı sıralama yerine eşleştirme için ayarlar; aksanları yok sayarak filtreleme yapmak için kullanışlıdır.
const c = new Intl.Collator("en", { usage: "search", sensitivity: "base" });
function matches(a, b) { return c.compare(a, b) === 0; }
console.log(matches("cafe", "CAFE")); // trueNesneleri Sıralama
Nesne dizilerini sıralarken collator'ı bir anahtar üzerinde kullanın.
const people = [{ name: "Bob" }, { name: "alice" }, { name: "Carol" }];
const c = new Intl.Collator("en");
console.log(people.sort((a, b) => c.compare(a.name, b.name)).map((p) => p.name));Hızlı Kontrol
Yerel ayara duyarlı sıralamayı sınayın.
Özet: Yerel Ayara Duyarlı Sıralama
Varsayılan sort() yönteminin neden yanlış olduğunu gördünüz, localeCompare ile daha hızlı olan Intl.Collator'ı kullandınız, aksanları, duyarlılığı, sayısal ve büyük/küçük harf sıralamasını, yerel ayara özgü alfabeleri ve arama eşleştirmesini ele aldınız. Intl kursu böylece tamamlanıyor.
Sıkça Sorulan Sorular
“Yerel Ayarlara Uygun Sıralama” dersi ücretsiz mi?
Evet — “Yerel Ayarlara Uygun Sıralama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve JavaScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. JavaScript Academy kursu toplamda 4 dersten oluşur.
“Yerel Ayarlara Uygun Sıralama” dersinde ne öğreneceğim?
Dizeleri Intl.Collator ile doğru şekilde sıralayın. JavaScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
JavaScript Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te JavaScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Yerel Ayarlara Uygun Sıralama” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu JavaScript Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her JavaScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Sayıları ve Para Birimini Biçimlendirme
- Tarihleri ve Saatleri Biçimlendirme
- Göreli Zaman ve Çoğullar
- Yerel Ayarlara Uygun Sıralama