0Pricing
JavaScript Academy · Pelajaran

Pengurutan Sesuai Lokal

Urutkan string dengan benar menggunakan Intl.Collator.

Pengurutan Sesuai Lokal adalah pelajaran JavaScript Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar JavaScript Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus JavaScript Academy mencakup 4 pelajaran total.

Mengapa Pengurutan Bawaan Gagal

sort() pada larik membandingkan teks berdasarkan unit kode UTF-16. Cara ini menempatkan huruf kapital sebelum huruf kecil dan menangani aksen dengan buruk — tidak tepat untuk daftar yang dibaca manusia.

const words = ["banana", "Apple", "cherry"];
console.log([...words].sort()); // ["Apple","banana","cherry"] — capital wins

localeCompare

String.prototype.localeCompare membandingkan dua teks menggunakan aturan lokal, lalu mengembalikan nilai negatif, nol, atau positif.

console.log("apple".localeCompare("banana")); // -1
console.log("banana".localeCompare("apple")); // 1

Mengurutkan dengan localeCompare

Berikan fungsi tersebut sebagai pembanding untuk mendapatkan urutan yang mudah dipahami manusia.

const words = ["banana", "Apple", "cherry"];
console.log([...words].sort((a, b) => a.localeCompare(b)));
// ["Apple", "banana", "cherry"] — case-insensitive ordering

Intl.Collator

Untuk mengurutkan banyak elemen, Intl.Collator lebih cepat: buat sekali dan gunakan kembali metode compare-nya.

const collator = new Intl.Collator("en-US");
const words = ["banana", "Apple", "cherry"];
console.log([...words].sort(collator.compare));

Aksen dan Tanda Diakritik

Collator mengurutkan karakter beraksen dengan benar sesuai lokal, tidak seperti perbandingan unit kode.

const words = ["zebra", "ela", "elf", "elan"];
const collator = new Intl.Collator("fr");
console.log([...words].sort(collator.compare));

Sensitivitas

sensitivity mengatur perbedaan yang dianggap penting: "base" mengabaikan huruf besar-kecil dan aksen, "accent" hanya mengabaikan huruf besar-kecil, sedangkan "variant" membedakan semuanya.

const c = new Intl.Collator("en", { sensitivity: "base" });
console.log(c.compare("apple", "APPLE")); // 0 (treated equal)

Pengurutan Numerik

numeric: true mengurutkan angka yang tertanam berdasarkan nilainya, sehingga "file2" muncul sebelum "file10".

const files = ["file10", "file2", "file1"];
const c = new Intl.Collator("en", { numeric: true });
console.log([...files].sort(c.compare)); // ["file1","file2","file10"]

Urutan Berdasarkan Huruf Besar-Kecil

caseFirst: "upper" atau "lower" menentukan apakah huruf kapital diurutkan sebelum huruf kecil ketika perbedaan lainnya sama.

const c = new Intl.Collator("en", { caseFirst: "upper" });
console.log(["b", "B", "a", "A"].sort(c.compare));

Lokal Memengaruhi Urutan

Bahasa yang berbeda mengurutkan alfabet dengan cara yang berbeda. Dalam bahasa Swedia, beberapa huruf beraksen diurutkan setelah z, bukan di dekat a.

const words = ["z", "a", "o"];
console.log([...words].sort(new Intl.Collator("sv").compare));

Pencarian dengan Penggunaan

usage: "search" menyesuaikan Collator untuk pencocokan, bukan pengurutan — berguna untuk memfilter tanpa membedakan aksen.

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")); // true

Mengurutkan Objek

Gunakan Collator pada suatu kunci ketika mengurutkan larik objek.

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));

Uji Cepat

Uji pengurutan sesuai lokal.

Rangkuman: Pengurutan Sesuai Lokal

Anda melihat alasan sort() bawaan tidak tepat, menggunakan localeCompare dan Intl.Collator yang lebih cepat, menangani aksen, sensitivitas, pengurutan numerik dan huruf besar-kecil, alfabet khusus lokal, serta pencocokan pencarian. Dengan demikian, kursus Intl selesai.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pengurutan Sesuai Lokal” gratis?

Ya — teks lengkap “Pengurutan Sesuai Lokal” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus JavaScript Academy, upgrade ke CoddyKit PRO. Kursus JavaScript Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Pengurutan Sesuai Lokal”?

Urutkan string dengan benar menggunakan Intl.Collator. Kamu berlatih JavaScript Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai JavaScript Academy?

Tidak diperlukan pengalaman sebelumnya. JavaScript Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Pengurutan Sesuai Lokal” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran JavaScript Academy ini?

Ya. Setiap pelajaran JavaScript Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Memformat Angka dan Mata Uang
  2. Memformat Tanggal dan Waktu
  3. Waktu Relatif dan Bentuk Jamak
  4. Pengurutan Sesuai Lokal
← Kembali ke JavaScript Academy