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

Cara Cepat Membagi Array di JavaScript dengan `chunk`

1 min read .
Cara Cepat Membagi Array di JavaScript dengan `chunk`

Kadang-kadang di proyek JavaScript, saya butuh memecah array besar jadi potongan-potongan kecil—entah buat manajemen UI atau pemrosesan data. Meski JavaScript punya banyak metode bawaan, nggak ada yang langsung bilang: “Hei, saya bisa nge-chunk array buat kamu.” Gini deh, kita bisa tambahkan sendiri.

Menambahkan Metode chunk

kita bisa extend Array.prototype pakai Object.defineProperty biar semua array bisa pakai chunk:

Object.defineProperty(Array.prototype, 'chunk', {
    value: function(size) {
        let arr = this;
        return [].concat.apply([], 
            arr.map((el, i) => i % size ? [] : [arr.slice(i, i + size)])
        );
    }
});

Cara Kerjanya

  • thisarray yang kita panggil chunk.
  • arr.map + i % size → bikin chunk baru tiap size elemen.
  • [].concat.apply([], …) → merapikan semua chunk jadi satu array.

Contoh Penggunaan

let numbers = [1,2,3,4,5,6,7,8,9];
console.log(numbers.chunk(3));
// Output: [[1,2,3],[4,5,6],[7,8,9]]

Sekarang tinggal panggil .chunk(size) di array mana pun.

Catatan & Tips

  • Modifikasi Array.prototype itu powerful tapi harus hati-hati. Bisa bentrok sama library lain atau metode baru JS.
  • Gini deh, kalau cuma butuh sesekali, bisa juga bikin fungsi biasa tanpa extend prototipe:
function chunk(arr, size) {
    return arr.reduce((res, _, i) => {
        if(i % size === 0) res.push(arr.slice(i, i + size));
        return res;
    }, []);
}

Kesimpulan

Pada akhirnya, metode chunk bikin hidup lebih gampang kalau kerja sama array besar. Bisa dipakai di UI grid, batch request API, atau manipulasi data. Snippet di atas siap pakai, jadi tinggal copy-paste dan langsung eksperimen.

Lihat Juga

chevron-up