Method sort
Termasuk bagian Logika dan Alur dalam perjalanan JavaScript di Coddy. Pelajaran 57 dari 65.
method sort() memungkinkan kamu mengurutkan elemen array langsung di tempat dan mengembalikan array yang telah diurutkan. Secara default, method ini mengurutkan elemen sebagai string dalam urutan alfabetis dan menaik.
Berikut sintaks dasarnya:
array.sort([compareFunction])Contoh tanpa menggunakan fungsi compare:
const fruits = ['banana', 'apple', 'orange', 'mango'];
fruits.sort();
console.log(fruits);
// ['apple', 'banana', 'mango', 'orange']PERINGATAN: Angka tidak diurutkan seperti yang diharapkan tanpa fungsi pembanding:
const numbers = [1, 30, 4, 21, 100000];
numbers.sort();
console.log(numbers);
// [1, 100000, 21, 30, 4] (pengurutan angka yang keliru)Untuk mengurutkan angka dengan benar atau menerapkan pengurutan khusus, kamu perlu menggunakan fungsi pembanding.
Fungsi pembanding seharusnya mengembalikan:
- Nilai negatif jika a harus berada sebelum b
- Nilai positif jika b harus berada sebelum a
- Nol jika keduanya sama
Berikut cara mengurutkan angka menggunakan fungsi pembanding:
// Urutan menaik
const numbers = [1, 30, 4, 21, 100000];
numbers.sort((a, b) => a - b);
console.log(numbers); // [1, 4, 21, 30, 100000]// Urutan menurun
numbers.sort((a, b) => b - a);
console.log(numbers); // [100000, 30, 21, 4, 1]Contoh lain cara mengurutkan object:
const people = [
{ name: 'John', age: 30 },
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 35 }
];
// Urutkan berdasarkan usia (menaik)
people.sort((a, b) => a.age - b.age);// Urutkan berdasarkan nama (gunakan localeCompare() untuk urutan alfabetis)
people.sort((a, b) => a.name.localeCompare(b.name));Tantangan
MudahBuat fungsi bernama sortByLength yang menerima array berisi string dan mengembalikan array baru dengan string yang sama, diurutkan berdasarkan panjangnya dari yang terpendek ke yang terpanjang. Jika dua string memiliki panjang yang sama, urutkan keduanya berdasarkan abjad.
Coba sendiri
function sortByLength(arr) {
return arr.sort((a, b) => {
// Tulis kodemu di sini
})
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Mendalami string
Dasar-dasar stringIterasi pada stringTemplate LiteralsMethod stringRangkuman: Perangkai string4JSON Bagian 2
Menelusuri JSONJSON BersarangOptional Chaining pada JSONSalinan Dangkal dan MendalamUlasan: Toko SepedaUlasan: Tata Surya7Sistem Manajemen Perpustakaan
Ikhtisar ProyekMenambahkan Buku2Array Multidimensi
Dasar-Dasar Array 2DMengakses Elemen Array 2DLoop Bersarang dengan Array 2DRingkasan: Array 2DPenjumlahan dan Pengurangan MatriksArray BergerigiArray 3D dan SeterusnyaPola Umum Array 2DRingkasan: Semua tentang Array5set Bagian 1
Apa Itu set?Melakukan Perulangan pada setMenambahkan ElemenMenghapus ElemenMemeriksa Apakah Elemen AdaUkuran dan Apakah KosongMenyalin dan MengosongkanRangkuman: Dasar-Dasar set8Topik Menarik tentang array
Membongkar arraySintaks spread pada arrayArray renggangRekap: Lokakarya array3JSON Bagian 1
Apa Itu JSON?Periksa Apakah Kunci AdaMethod objectOperator Spread Bagian 1Operator Spread Bagian 2Hapus KunciRangkuman: Memanipulasi Kunci JSON6set Bagian 2
Matematika, Gabungan setMatematika, Irisan setMatematika, Selisih setSelisih SimetrisSubset dan SupersetUlasan, Kelompokkan Teman9Method array tingkat lanjut
Method join & splitMethod mapMethod filterMethod reduceMerangkai method arrayApakah forEach dan map sama?Method sortMethod find & findIndexRangkuman: Ahli MerangkaiLatihan sendiri: Compiler JavaScript online