JavaScript Array toSorted()

Definisi dan penggunaan

toSorted() Metode ini mengurutkan elemen array berdasarkan abjad.

toSorted() Metode ini mengembalikan array yang baru.

toSorted() Metode ini tidak akan menimpa array asli.

toSorted() Metode ini sort() Versi salinan metode.

Lihat pula:

Metode sort() Array

Metode reverse() Array

Fungsi perbandingan pengurutan

Pengurutan abjad membagi string dengan baik ("Apple" berada sebelum "Banana").

Namun, pengurutan angka dapat menghasilkan hasil yang salah.

"25" lebih besar daripada "100", karena "2" lebih besar daripada "1".

Masalah ini dapat diselesaikan dengan menyediakan "fungsi perbandingan" (lihat contoh di bawah).

Contoh

Contoh 1

// Membuat array
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// Mengurutkan array
const fruits2 = fruits.toSorted();

Coba sendiri

Contoh 2

Urutan balik setelah diurutkan:

// Membuat array
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// Mengurutkan array
const fruits2 = fruits.toSorted();
// Balik urutan array
fruits2.reverse();

Coba sendiri

Contoh 3

Mengurutkan angka dalam urutan naik menggunakan fungsi pengurut:

// Membuat array
const points = [40, 100, 1, 5, 25, 10];
// Mengurutkan array
let points2 = points.toSorted(function(a, b){return a - b});

Coba sendiri

Contoh 4

Mengurutkan angka dalam urutan turun:

// Membuat array
const points = [40, 100, 1, 5, 25, 10];
// Mengurutkan array
let points2 = points.toSorted(function(a, b){return b - a});

Coba sendiri

Contoh 5

Cari nilai terkecil:

// Membuat array
const points = [40, 100, 1, 5, 25, 10];
// Mengurutkan angka dalam urutan naik
let points2 = points.toSorted(function(a, b){return a - b});
let lowest = points2[0];

Coba sendiri

Contoh 6

Cari nilai terbesar:

// Membuat array
const points = [40, 100, 1, 5, 25, 10];
// Mengurutkan angka dalam urutan turun
let points2 = points.toSorted(function(a, b){return b - a});
let highest = points2[0];

Coba sendiri

Contoh 7

Cari nilai terbesar:

// Membuat array
const points = [40, 100, 1, 5, 25, 10];
// Mengurutkan angka dalam urutan naik
let points2 = points.toSorted(function(a, b){return a - b});
let highest = points2[points.length - 1];

Coba sendiri

Sintaks

array.sort(compareFunction)

Parameter

Parameter Deskripsi
compareFunction

Pilihan. Definisi fungsi untuk mengatur urutan pengurutan. Fungsi ini harus mengembalikan nilai negatif, nol, atau positif untuk parameter:

function(a, b){return a-b}

Ketika sort() membandingkan dua nilai, dia akan mengirimkan nilai ini ke fungsi pembanding, dan mengurutkan nilai berdasarkan pengembalian (negatif, nol, positif) yang diberikan.

Contoh:

Fungsi pengurut akan melihat 40 sebagai nilai yang lebih kecil daripada 100.

Ketika membandingkan 40 dan 100, sort() memanggil fungsi function(40, 100).

Fungsi menghitung 40 - 100, dan mengembalikan -60 (nilai negatif).

Nilai pengembalian

Tipe Deskripsi
Array Array yang baru setelah diurutkan.

Dukungan peramban

toSorted() Ini adalah fitur ES2023.

Mulai bulan Juli 2023, semua peramban modern mendukung metode ini:

Chrome Edge Firefox Safari Opera
Chrome 110 Edge 110 Firefox 115 Safari 16.4 Opera 96
Bulan Februari 2023 Bulan Februari 2023 Bulan Juli 2023 Bulan Maret 2023 Bulan Mei 2023