Apps Artificial Intelligence CSS DevOps Go JavaScript Laravel Linux MongoDB MySQL PHP Python Rust Vue

Mengurutkan Data Array Berdasarkan Nilai di JavaScript

1 min read .
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 sebelum a.
  • Jika hasil b - a negatif, a ditempatkan sebelum b.
  • Jika hasilnya nol, urutan antara a dan b 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.

Lihat Juga

chevron-up