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 - a
positif,b
ditempatkan sebeluma
. - Jika hasil
b - a
negatif,a
ditempatkan sebelumb
. - Jika hasilnya nol, urutan antara
a
danb
tidak 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.