Contoh 1: Urutkan Array berdasarkan Nama Properti
// program to sort array by property name
function compareName(a, b) {
// converting to uppercase to have case-insensitive comparison
const name1 = a.name.toUpperCase();
const name2 = b.name.toUpperCase();
let comparison = 0;
if (name1 > name2) {
comparison = 1;
} else if (name1 < name2) {
comparison = -1;
}
return comparison;
}
const students = [{name: 'Sara', age:24},{name: 'John', age:24}, {name: 'Jack', age:25}];
console.log(students.sort(compareName));
Keluaran
[{name: "Jack", age: 25}, {name: "John", age: 24}, {name: "Sara", age: 24}]
Pada program di atas, sort()
metode yang digunakan untuk mengurutkan array dengan nama properti elemen objeknya.
Itu sort()
metode mengurutkan elemennya sesuai dengan nilai yang dikembalikan oleh fungsi sortir kustom (bandingkanNama pada kasus ini).
Sini,
- Nama properti diubah menjadi huruf besar menggunakan
toUpperCase()
metode. - Jika membandingkan dua nama menghasilkan 1, maka urutannya diubah.
- Jika membandingkan dua nama menghasilkan -1 atau 0, maka pesanan mereka dibiarkan apa adanya.
Contoh 2: Urutkan Array berdasarkan Umur Properti
// program to sort array by property name
function compareAge(a, b) {
return a.age - b.age;
}
const students = [{name: 'Sara', age:24},{name: 'John', age:22}, {name: 'Jack', age:27}];
console.log(students.sort(compareAge));
Keluaran
[{name: "John", age: 22}, {name: "Sara", age: 24}, {name: "Jack", age: 27}]
Pada program di atas, sort()
metode ini digunakan untuk mengurutkan elemen array dengan usia Properti.
Untuk membandingkan usia properti dari dua objek, kita cukup menguranginya.
- Jika selisihnya bernilai negatif, urutannya diubah.
- Jika perbedaannya adalah nilai positif, urutannya dibiarkan apa adanya.