Sort Array Of Object By Key Value Javascript

Sort Array Of Object By Key Value Javascript

5 min read Jun 20, 2024
Sort Array Of Object By Key Value Javascript

Memurutkan Array Objek Berdasarkan Nilai Kunci di Javascript

Memurutkan array objek berdasarkan nilai kunci di Javascript merupakan tugas umum dalam pengembangan web. Hal ini memungkinkan Anda untuk mengatur data Anda dengan cara yang mudah dibaca dan diakses. Ada beberapa cara untuk mencapai ini, dan artikel ini akan membahas beberapa metode yang umum digunakan.

1. Menggunakan sort() dengan Fungsi Perbandingan

Metode ini menggunakan fungsi bawaan Javascript sort() yang menerima fungsi perbandingan sebagai argumen. Fungsi perbandingan mengembalikan nilai berdasarkan perbandingan dua elemen, yang menentukan bagaimana elemen-elemen tersebut akan diurutkan.

Berikut adalah contoh cara menggunakan metode ini untuk mengurutkan array objek berdasarkan nilai "name":

const users = [
  { name: "John Doe", age: 30 },
  { name: "Jane Doe", age: 25 },
  { name: "Alice Smith", age: 28 },
];

users.sort((a, b) => {
  if (a.name < b.name) {
    return -1;
  } else if (a.name > b.name) {
    return 1;
  } else {
    return 0;
  }
});

console.log(users); // Output: [{ name: "Alice Smith", age: 28 }, { name: "Jane Doe", age: 25 }, { name: "John Doe", age: 30 }]

Pada contoh di atas, fungsi perbandingan membandingkan nilai "name" dari dua objek. Jika a.name lebih kecil dari b.name, fungsi mengembalikan -1, yang mengurutkan a sebelum b. Jika a.name lebih besar dari b.name, fungsi mengembalikan 1, yang mengurutkan b sebelum a. Jika nilai "name" sama, fungsi mengembalikan 0, yang tidak mengubah urutan elemen.

2. Menggunakan Library Eksternal seperti Lodash

Library seperti Lodash menyediakan metode sortBy() yang mempermudah proses pengurutan array objek. Metode ini menerima array objek dan kunci yang ingin diurutkan sebagai argumen.

Berikut adalah contoh cara menggunakan sortBy() untuk mengurutkan array objek berdasarkan nilai "age":

const users = [
  { name: "John Doe", age: 30 },
  { name: "Jane Doe", age: 25 },
  { name: "Alice Smith", age: 28 },
];

const sortedUsers = _.sortBy(users, 'age');

console.log(sortedUsers); // Output: [{ name: "Jane Doe", age: 25 }, { name: "Alice Smith", age: 28 }, { name: "John Doe", age: 30 }]

Pada contoh ini, sortBy() mengambil array users dan kunci "age" sebagai argumen, dan mengembalikan array baru yang diurutkan berdasarkan nilai "age".

3. Mengurutkan Descending

Untuk mengurutkan array objek dalam urutan descending, Anda dapat memodifikasi fungsi perbandingan atau metode sortBy() dengan membalikkan hasil perbandingan. Berikut adalah contoh cara mengurutkan array objek berdasarkan nilai "name" dalam urutan descending:

const users = [
  { name: "John Doe", age: 30 },
  { name: "Jane Doe", age: 25 },
  { name: "Alice Smith", age: 28 },
];

users.sort((a, b) => {
  if (a.name < b.name) {
    return 1; // membalikkan hasil perbandingan
  } else if (a.name > b.name) {
    return -1; // membalikkan hasil perbandingan
  } else {
    return 0;
  }
});

console.log(users); // Output: [{ name: "John Doe", age: 30 }, { name: "Jane Doe", age: 25 }, { name: "Alice Smith", age: 28 }]

Pada contoh ini, hasil perbandingan dibalik sehingga elemen dengan nilai "name" yang lebih besar diurutkan sebelum elemen dengan nilai "name" yang lebih kecil.

Kesimpulan

Ada beberapa metode untuk mengurutkan array objek berdasarkan nilai kunci di Javascript. Metode sort() dengan fungsi perbandingan memberikan kontrol penuh atas proses pengurutan, sedangkan library seperti Lodash mempermudah proses pengurutan dengan metode sortBy(). Pilih metode yang paling sesuai dengan kebutuhan Anda dan pastikan untuk memahami cara kerjanya sebelum menggunakannya.