Sort Array Of Objects Javascript By Key Value Date

Sort Array Of Objects Javascript By Key Value Date

4 min read Jun 20, 2024
Sort Array Of Objects Javascript By Key Value Date

Mengurutkan Array Objek JavaScript berdasarkan Nilai Kunci Tanggal

Memiliki array objek dengan properti tanggal dan perlu mengurutkannya? JavaScript menyediakan cara yang mudah untuk melakukannya. Artikel ini akan memandu Anda melalui proses pengurutan array objek berdasarkan nilai kunci tanggal.

1. Menggunakan sort() dengan Fungsi Pembanding

Metode sort() bawaan JavaScript memungkinkan Anda mengurutkan array. Untuk mengurutkan berdasarkan nilai tanggal, Anda perlu memberikan fungsi pembanding yang mengembalikan nilai negatif, positif, atau nol, tergantung pada urutan yang diinginkan.

Berikut adalah contoh sederhana:

const events = [
  { date: '2023-04-20', title: 'Event A' },
  { date: '2023-04-15', title: 'Event B' },
  { date: '2023-04-25', title: 'Event C' },
];

events.sort((a, b) => {
  const dateA = new Date(a.date);
  const dateB = new Date(b.date);
  return dateA - dateB; // Urutkan menaik
  // return dateB - dateA; // Urutkan menurun
});

console.log(events);

Dalam contoh ini:

  • sort() dipanggil pada array events.
  • Fungsi pembanding mengambil dua objek (a dan b) sebagai input.
  • new Date() digunakan untuk mengonversi string tanggal ke objek Date.
  • dateA - dateB mengembalikan nilai negatif jika dateA lebih kecil dari dateB, nilai positif jika dateA lebih besar dari dateB, dan nol jika keduanya sama.
  • Hasil sort() adalah array events yang telah diurutkan berdasarkan tanggal secara menaik.

2. Menggunakan Pustaka Eksternal

Jika Anda memerlukan fungsi pengurutan yang lebih canggih, seperti kemampuan untuk mengurutkan berdasarkan beberapa kunci atau dengan metode pengurutan tertentu, pertimbangkan untuk menggunakan pustaka eksternal seperti:

  • Lodash: Menyediakan metode sortBy() yang memungkinkan Anda mengurutkan berdasarkan beberapa kunci dan dengan metode pengurutan yang berbeda.
  • Moment.js: Menyediakan fungsi moment.orderBy() untuk mengurutkan objek berdasarkan nilai tanggal.
  • Date-fns: Pustaka pengolah tanggal JavaScript yang menyediakan fungsi sort untuk mengurutkan array objek berdasarkan nilai tanggal.

3. Mengurutkan Tanggal Berdasarkan Format

Saat mengurutkan berdasarkan tanggal, penting untuk memastikan format tanggal konsisten dan dapat diubah menjadi objek Date. Jika format tanggal tidak konsisten, Anda perlu mengonversinya terlebih dahulu sebelum mengurutkannya.

Berikut adalah contoh format tanggal yang umum:

  • YYYY-MM-DD: Format ISO 8601 standar (misalnya, 2023-04-20).
  • MM/DD/YYYY: Format tanggal Amerika (misalnya, 04/20/2023).
  • DD/MM/YYYY: Format tanggal Eropa (misalnya, 20/04/2023).

Jika Anda menggunakan format tanggal selain ISO 8601, gunakan Date.parse() atau moment() untuk mengonversi string ke objek Date sebelum mengurutkan.

Kesimpulan

Mengurutkan array objek JavaScript berdasarkan nilai kunci tanggal adalah tugas umum yang dapat dilakukan dengan mudah menggunakan metode sort() bawaan JavaScript atau dengan menggunakan pustaka eksternal. Penting untuk memastikan bahwa format tanggal konsisten dan dapat diubah menjadi objek Date agar pengurutan berfungsi dengan benar.