JavaScript: Cara Cepat Mengelompokkan Data dengan `Object.groupBy()`
1
min read .
Updated on
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.