Dalam contoh ini, Anda akan belajar menulis program JavaScript yang akan mengurutkan array objek berdasarkan nilai properti.
Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman JavaScript berikut:
- Javascript Array sort ()
- Array JavaScript
- Objek JavaScript
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
((nama: "Jack", usia: 25), (nama: "John", usia: 24), (nama: "Sara", usia: 24))
Dalam program di atas, sort()
metode ini digunakan untuk mengurutkan array berdasarkan properti nama elemen objeknya.
The sort()
Metode macam unsur-unsurnya sesuai dengan nilai-nilai yang dikembalikan oleh fungsi semacam kustom (compareName dalam hal ini).
Sini,
- Nama properti diubah menjadi huruf besar menggunakan
toUpperCase()
metode ini. - Jika membandingkan dua nama menghasilkan 1 , maka urutannya berubah.
- Jika membandingkan dua nama menghasilkan -1 atau 0 , maka urutannya dibiarkan apa adanya.
Contoh 2: Urutkan Array berdasarkan Usia 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
((nama: "John", usia: 22), (nama: "Sara", usia: 24), (nama: "Jack", usia: 27))
Dalam program di atas, sort()
metode ini digunakan untuk mengurutkan elemen array berdasarkan properti usia.
Untuk membandingkan properti usia dua objek, kita cukup menguranginya.
- Jika perbedaannya adalah nilai negatif, urutannya berubah.
- Jika perbedaannya adalah nilai positif, urutannya dibiarkan apa adanya.