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
array.sort([fungsi]);
Contoh
Mari kita urutkan sebuah array:
let arr = ['d', 'b', 'a', 'c'];
console.log(arr.sort());
Hasil eksekusi kode:
['a', 'b', 'c', 'd']
Contoh
Mari kita urutkan array berisi angka:
let arr = [4, 1, 7, 2];
console.log(arr.sort());
Hasil eksekusi kode:
[1, 2, 4, 7]
Contoh
Mari kita tambahkan angka ke dalam array dan urutkan:
let 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:
[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:
let 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:
[1, 2, 4, 7, 111, 123]
Contoh
Mari kita persingkat kode dalam fungsi kita dari contoh sebelumnya untuk kenyamanan:
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return a - b;
});
console.log(arr);
Hasil eksekusi kode:
[1, 2, 4, 7, 111, 123]
Contoh
Dan sekarang dengan menggunakan fungsi, mari urutkan array dalam urutan menurun:
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return b - a;
});
console.log(arr);
Hasil eksekusi kode:
[123, 111, 7, 4, 2, 1]
Contoh
Mari kita urutkan array objek
berdasarkan kunci 'one' dalam urutan menaik:
let 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:
[
{one: 1, two: 2},
{one: 3, two: 3},
{one: 7, two: 1}
]
Contoh
Dan sekarang mari kita urutkan array objek
berdasarkan kunci 'two':
let 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:
[
{one: 7, two: 1},
{one: 1, two: 2},
{one: 3, two: 3}
]
Contoh
Mari kita periksa apakah array berubah setelah
penerapan metode sort:
let arr = ['b', 'a', 'd', 'c'];
let res = arr.sort();
console.log(arr);
Hasil eksekusi kode:
['a', 'b', 'c', 'd']
Lihat juga
-
metode
filter,
yang memungkinkan untuk memfilter elemen array