Mengurutkan Data Array Berdasarkan Nilai di JavaScript
Mengelola dan memanipulasi data array adalah tugas umum dalam pengembangan web. Artikel ini akan membahas cara mengurutkan array berisi objek berdasarkan nilai tertentu menggunakan JavaScript, dengan contoh mengurutkan daftar objek berdasarkan properti order.
1. Data Awal
saya mulai dengan sekumpulan data berupa array objek. Setiap objek memiliki dua properti: name dan order.
let data = [
{ name: 'Edward', order: 21 },
{ name: 'Sharpe', order: 37 },
{ name: 'And', order: 45 },
{ name: 'The', order: -12 },
{ name: 'Magnetic', order: 13 },
{ name: 'Zeros', order: 37 }
]Tujuan saya adalah mengurutkan objek-objek ini berdasarkan nilai order.
2. Menggunakan sort() untuk Mengurutkan Array
JavaScript menyediakan metode sort() yang memungkinkan saya mengurutkan elemen array. Metode ini menerima fungsi pembanding (compare function) yang menentukan urutan pengurutan.
Sintaks dasar sort():
array.sort((a, b) => {
// kode pengurutan
})Fungsi pembanding menerima dua argumen, a dan b, yang merupakan elemen-elemen array yang dibandingkan. Berdasarkan nilai yang dikembalikan:
- Jika hasil
b - apositif,bditempatkan sebeluma. - Jika hasil
b - anegatif,aditempatkan sebelumb. - Jika hasilnya nol, urutan antara
adanbtidak berubah.
3. Implementasi Pengurutan
Untuk mengurutkan array data berdasarkan nilai order secara menurun (descending), gunakan kode berikut:
let result = data.sort((a, b) => {
return b.order - a.order
})Di sini, mengurangkan b.order dari a.order akan membuat objek dengan nilai order tertinggi berada di depan.
4. Hasil Pengurutan
Setelah diurutkan, berikut hasil array data:
console.log(result);Output:
[
{ name: 'And', order: 45 },
{ name: 'Sharpe', order: 37 },
{ name: 'Zeros', order: 37 },
{ name: 'Edward', order: 21 },
{ name: 'Magnetic', order: 13 },
{ name: 'The', order: -12 }
]Sekarang objek dalam array telah diurutkan dari nilai order tertinggi ke terendah.
5. Mengubah Urutan
Jika ingin mengurutkan data secara menaik (ascending), cukup membalik pengurangannya:
let result = data.sort((a, b) => {
return a.order - b.order
})Objek akan diurutkan dari nilai order terkecil ke terbesar.
6. Kesimpulan
Metode sort() di JavaScript memberikan cara mudah dan fleksibel untuk mengurutkan data array, terutama ketika bekerja dengan array objek. Dengan memahami fungsi pembanding, Anda dapat menyesuaikan pengurutan sesuai kebutuhan. Teknik ini sangat berguna saat menampilkan data dalam urutan tertentu di aplikasi web.