Menu
CoddyTech

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

Tantangan

Mudah

Buat 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
    })
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler JavaScript online