Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

JavaScript Lanjutan

Pelajaran 2 dari 22

Method array lanjutan

Mengurutkan dengan sort dan comparator

Setelah pelajaran ini kamu bisa mengurutkan angka, teks, dan array objek dengan fungsi pembanding tanpa merusak array aslinya.

±14 menitDiperiksa 28 Sep 2026

Materi

Tanpa argumen, sort mengubah setiap isi menjadi teks lalu membandingkan kode karakternya. Akibatnya angka tidak terurut sebagai angka: [10, 9, 100].sort() menghasilkan [10, 100, 9], karena teks "100" diawali "1" yang lebih kecil daripada "9". Untuk mengurutkan dengan benar, sort diberi fungsi pembanding (comparator) dengan dua parameter, a dan b.

Comparator mengembalikan angka negatif bila a harus di depan b, angka positif bila b di depan a, dan 0 bila keduanya setara. Untuk angka, a - b memberi urutan naik dan b - a urutan turun. Untuk teks, a.localeCompare(b) membandingkan dengan aturan abjad bahasa, sehingga huruf besar dan kecil diurutkan bersama; sort tanpa argumen menaruh semua huruf besar di depan huruf kecil.

const kota = [
  { nama: "Padang", jarak: 920 },
  { nama: "bogor", jarak: 60 },
  { nama: "Cirebon", jarak: 250 },
];
kota.toSorted((a, b) => a.jarak - b.jarak);         // bogor, Cirebon, Padang
kota.toSorted((a, b) => a.nama.localeCompare(b.nama)); // bogor, Cirebon, Padang
kota.map((k) => k.nama).sort();                    // ["Cirebon", "Padang", "bogor"]

sort mengubah array aslinya di tempat dan mengembalikan array yang sama. Bila urutan asli masih dipakai di bagian lain, misalnya daftar yang ditampilkan sesuai urutan input, pakai toSorted yang mengembalikan array baru. Sejak ECMAScript 2019, sort dijamin stabil: isi yang dinilai setara tetap dalam urutan semula, sehingga mengurutkan per kota lalu per nama tidak mengacak urutan sebelumnya.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 3 dari 3

Apa isi array setelah [25, 100, 3].sort() dijalankan?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke