Kaedah sort
Kaedah sort melakukan penyusunan array
dalam susunan leksikografi dan mengembalikan array
yang telah diubah. Parameter pilihan boleh
menentukan fungsi tersendiri untuk penyusunan.
Sintaks
array.sort([fungsi]);
Contoh
Mari susun array:
let arr = ['d', 'b', 'a', 'c'];
console.log(arr.sort());
Keputusan pelaksanaan kod:
['a', 'b', 'c', 'd']
Contoh
Mari susun array dengan nombor:
let arr = [4, 1, 7, 2];
console.log(arr.sort());
Keputusan pelaksanaan kod:
[1, 2, 4, 7]
Contoh
Mari tambah nombor ke dalam array dan susunkannya:
let arr = [1, 123, 2, 4, 111, 7];
console.log(arr.sort());
Hasil daripada pelaksanaan kod kita akan lihat bahawa nombor tidak disusun mengikut urutan menaik, tetapi dalam susunan leksikografi, iaitu nombor dibandingkan antara satu sama lain seperti string. Perbandingan dilakukan untuk setiap aksara, sama ada kod aksara pertama lebih besar daripada kod aksara jiran, dan seterusnya. Keputusan:
[1, 111, 123, 2, 4, 7]
Contoh
Sekarang mari susun array
menggunakan fungsi, di mana kita akan tentukan syarat -
jika parameter pertama lebih besar daripada kedua, maka tukarkannya
(untuk ini, dalam return sebarang nombor positif).
Dalam kes sebaliknya, pertukaran tidak diperlukan dan kita nyatakan
0 atau sebarang nombor negatif:
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
if (a > b) {
return 1;
} else {
return -1;
}
});
console.log(arr);
Keputusan pelaksanaan kod:
[1, 2, 4, 7, 111, 123]
Contoh
Mari pendekkan kod untuk kemudahan dalam fungsi kita dari contoh sebelumnya:
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return a - b;
});
console.log(arr);
Keputusan pelaksanaan kod:
[1, 2, 4, 7, 111, 123]
Contoh
Dan sekarang dengan menggunakan fungsi, mari susun array dalam urutan menurun:
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return b - a;
});
console.log(arr);
Keputusan pelaksanaan kod:
[123, 111, 7, 4, 2, 1]
Contoh
Mari susun array objek
mengikut 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);
Keputusan pelaksanaan kod:
[
{one: 1, two: 2},
{one: 3, two: 3},
{one: 7, two: 1}
]
Contoh
Dan sekarang mari susun array objek
mengikut 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);
Keputusan pelaksanaan kod:
[
{one: 7, two: 1},
{one: 1, two: 2},
{one: 3, two: 3}
]
Contoh
Mari semak sama ada array telah berubah selepas
mengaplikasikan kaedah sort:
let arr = ['b', 'a', 'd', 'c'];
let res = arr.sort();
console.log(arr);
Keputusan pelaksanaan kod:
['a', 'b', 'c', 'd']
Lihat juga
-
kaedah
filter,
yang membenarkan penapisan elemen array