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

JavaScript: Cara Cepat Mengelompokkan Data dengan `Object.groupBy()`

1 min read .
JavaScript: Cara Cepat Mengelompokkan Data dengan `Object.groupBy()`

Kadang di proyek JS, saya perlu mengelompokkan data biar lebih mudah diproses. Object.groupBy() bikin hidup lebih gampang.

1. Dasar Object.groupBy()

Object.groupBy(array, callback);
  • array → data yang mau dikelompokkan
  • callback → menentukan key tiap elemen

2. Contoh Sederhana: Genap/Ganjil

const numbers = [1,2,3,4,5,6,7,8,9,10];
const grouped = Object.groupBy(numbers, n => n % 2 === 0 ? 'even' : 'odd');
console.log(grouped);
// { even:[2,4,6,8,10], odd:[1,3,5,7,9] }

3. Mengelompokkan Objek Berdasarkan Properti

const products = [
  {name:'Laptop', category:'Electronics'},
  {name:'Shirt', category:'Clothing'},
  {name:'Phone', category:'Electronics'}
];
const groupedProducts = Object.groupBy(products, p => p.category);
console.log(groupedProducts);
// { Clothing:[{…}], Electronics:[{…},{…}] }

4. Grup Berdasarkan Kriteria Kompleks

const numbers = [1,5,10,15,20,25,30];
const groupedByRange = Object.groupBy(numbers, n => n <=10 ? '1-10' : n <=20 ? '11-20' : '21-30');
console.log(groupedByRange);

5. Menangani Nilai Kosong atau Tidak Valid

const items = [null,'apple',undefined,'banana',''];
const groupedItems = Object.groupBy(items, item => item || 'unknown');
console.log(groupedItems);
// { apple:['apple'], banana:['banana'], unknown:[null,undefined,''] }

6. Tips & Catatan

  • Simpel & fleksibel: Bisa grup berdasarkan apa saja.
  • Tidak mengubah array asli → aman untuk data asli.
  • Perlu cek kompatibilitas browser → gunakan polyfill jika perlu.

Kesimpulan

Pada akhirnya, Object.groupBy() bikin pengelompokan data lebih gampang dan readable. Dari angka sampai objek kompleks, tinggal tentukan key, semua otomatis rapi. Gini deh, kadang hal kecil kayak ini bikin manipulasi data jauh lebih efisien.

Lihat Juga

chevron-up