Metode sort
Metode sort melakukan pengurutan array
dalam urutan leksikografis dan mengembalikan array
yang sudah diubah. Parameter opsional
dapat digunakan untuk menentukan fungsi pengurutan sendiri.
Sintaksis
javascriptarray.sort([fungsi]);
Contoh
Mari kita urutkan sebuah array:
javascriptlet arr = ['d', 'b', 'a', 'c'];
console.log(arr.sort());
Hasil eksekusi kode:
javascript['a', 'b', 'c', 'd']
Contoh
Mari kita urutkan array berisi angka:
javascriptlet arr = [4, 1, 7, 2];
console.log(arr.sort());
Hasil eksekusi kode:
javascript[1, 2, 4, 7]
Contoh
Mari kita tambahkan angka ke dalam array dan urutkan:
javascriptlet arr = [1, 123, 2, 4, 111, 7];
console.log(arr.sort());
Sebagai hasil eksekusi kode kita akan melihat bahwa angka tidak disusun dalam urutan menaik, tetapi dalam urutan leksikografis, yaitu angka dibandingkan satu sama lain seperti string. Perbandingan dilakukan per karakter, apakah kode karakter pertama lebih besar dari kode karakter tetangga, dan seterusnya. Hasilnya:
javascript[1, 111, 123, 2, 4, 7]
Contoh
Sekarang mari kita urutkan array
menggunakan fungsi, di mana kita tentukan kondisi -
jika parameter pertama lebih besar dari kedua, maka tukar posisinya
(untuk ini, dalam return berikan angka positif apa pun).
Dalam kasus sebaliknya, penukaran tidak diperlukan dan kita tentukan
0 atau angka negatif apa pun:
javascriptlet arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
if (a > b) {
return 1;
} else {
return -1;
}
});
console.log(arr);
Hasil eksekusi kode:
javascript[1, 2, 4, 7, 111, 123]
Contoh
Mari kita persingkat kode dalam fungsi kita dari contoh sebelumnya untuk kenyamanan:
javascriptlet arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return a - b;
});
console.log(arr);
Hasil eksekusi kode:
javascript[1, 2, 4, 7, 111, 123]
Contoh
Dan sekarang dengan menggunakan fungsi, mari urutkan array dalam urutan menurun:
javascriptlet arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return b - a;
});
console.log(arr);
Hasil eksekusi kode:
javascript[123, 111, 7, 4, 2, 1]
Contoh
Mari kita urutkan array objek
berdasarkan kunci 'one' dalam urutan menaik:
javascriptlet arr = [
{one: 1, two: 2},
{one: 7, two: 1},
{one: 3, two: 3}
];
arr.sort(function(a, b) {
return a.one - b.one;
});
console.log(arr);
Hasil eksekusi kode:
javascript[
{one: 1, two: 2},
{one: 3, two: 3},
{one: 7, two: 1}
]
Contoh
Dan sekarang mari kita urutkan array objek
berdasarkan kunci 'two':
javascriptlet arr = [
{one: 1, two: 2},
{one: 7, two: 1},
{one: 3, two: 3}
];
arr.sort(function(a, b) {
return a.two - b.two;
});
console.log(arr);
Hasil eksekusi kode:
javascript[
{one: 7, two: 1},
{one: 1, two: 2},
{one: 3, two: 3}
]
Contoh
Mari kita periksa apakah array berubah setelah
penerapan metode sort:
javascriptlet arr = ['b', 'a', 'd', 'c'];
let res = arr.sort();
console.log(arr);
Hasil eksekusi kode:
javascript['a', 'b', 'c', 'd']
Lihat juga
-
metode
filter,
yang memungkinkan untuk memfilter elemen array