4 Pola Praktis Cara Mengubah Array Object Menjadi Object Javascript

Cara mengubah array object menjadi object Javascript paling cepat memakai Object.fromEntries() setelah map(). Langkah yang sering terlewat adalah tiap item harus diubah dulu menjadi pasangan [key, value], karena fromEntries tidak menerima array object secara langsung.

Misalnya daftar user dari API perlu diakses lewat usersById["u2"] tanpa find() berulang. Pola ini umum untuk lookup, normalisasi state, dan cache frontend.

Bentuk Data Awal dan Target Object

Data awal biasanya seperti ini:

const users = [
  { id: "u1", nama: "Andi" },
  { id: "u2", nama: "Sinta" }
];

Targetnya object dengan key unik:

{
  u1: { id: "u1", nama: "Andi" },
  u2: { id: "u2", nama: "Sinta" }
}
  • Gunakan properti unik seperti id atau slug sebagai key.
  • Key object selalu string atau symbol, angka otomatis diubah menjadi string.
  • Key duplikat tertimpa, jadi data terakhir yang menang bila tidak ditangani.

Langkah Mengubah dengan Object.fromEntries dan Reduce

1. Petakan tiap item menjadi pasangan [key, value] dengan map.

2. Ubah pasangan itu menjadi object dengan Object.fromEntries.

3. Pakai reduce bila perlu kontrol duplikat atau bentuk value custom.

const usersById = Object.fromEntries(
  users.map((user) => [user.id, user])
);

// Alternatif reduce dengan proteksi duplikat
const usersById2 = users.reduce((acc, user) => {
  if (!acc[user.id]) acc[user.id] = user;
  return acc;
}, {});

Kode pertama cocok untuk kasus sederhana. Versi reduce menahan item pertama saat id ganda, bukan menimpanya.

Perbandingan Metode Konversi Array ke Object

Metode Cocok Untuk Catatan
fromEntries Konversi langsung Kode paling ringkas
reduce Duplikat dan value custom Fleksibel, sedikit panjang
for…of Validasi per item Mudah dibaca pemula
Object.assign Gabung banyak object Butuh spread hasil map
  • Pakai fromEntries untuk lookup cepat tanpa logika tambahan.
  • Pakai reduce bila value perlu dibuang sebagian atau duplikat perlu difilter.
  • Pakai for...of bila tiap item perlu validasi sebelum dimasukkan.

Hasil konversi berisi shallow copy reference. Mengubah properti di object hasil ikut mengubah object di array asli.

FAQ

Apa key terbaik untuk cara mengubah array object menjadi object Javascript?

Gunakan id atau slug yang unik dan stabil di semua item.

Bagaimana jika ada id duplikat saat konversi?

Gunakan reduce dengan pengecekan if(!acc[id]) atau simpan duplikat sebagai array.

Apakah hasil konversi masih terhubung ke array asli?

Ya, valuenya masih mereferensikan object yang sama kecuali disalin ulang.