sort dan Jebakan Urutannya

sort mengurutkan array di tempat — array aslinya ikut berubah, jadi salin dulu dengan spread bila kamu masih membutuhkan urutan semula. Jebakan terbesarnya: tanpa fungsi pembanding, sort mengubah setiap elemen menjadi string lalu mengurutkannya secara alfabet, sehingga [10, 9, 1] menjadi [1, 10, 9] dan terlihat seperti bug padahal itu perilaku resminya. Untuk angka, berikan pembanding (a, b) => a - b yang berarti naik, atau b - a untuk turun. Untuk teks berbahasa Indonesia, localeCompare menangani huruf besar-kecil dan aksen jauh lebih baik daripada perbandingan biasa.

👀 Contoh dulu

const angka = [10, 9, 1];

console.log([...angka].sort());              // alfabet, bukan angka
console.log([...angka].sort((a, b) => a - b)); // benar

Hasilnya: [1,10,9] [1,9,10]

📝 Sekarang giliranmu

Array harga berisi angka. Buat const urut berisi salinan yang terurut dari termurah ke termahal, tanpa mengubah array harga aslinya, lalu cetak keduanya.

Preview