[Javascript] Chunk array

Array.from() is a great way to chunk up arrays because of the secondary argument being a map function.

 

const hugeArray = Array.from({length: 76}, (_, i) => i)

function chunkify(array, chunkSize = 10) {
    const chunks = Array.from(
     {length: Math.ceil(array.length / chunkSize)},
     (_, i) => {
       const start = chunkSize * i;
       return array.slice(start, start + chunkSize)
     }
    )
    return chunks
}

console.log(chunkify(hugeArray))
/*
[
    [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9
    ],
    [
        10,
        11,
        12,
        13,
        14,
        15,
        16,
        17,
        18,
        19
    ],
    [
        20,
        21,
        22,
        23,
        24,
        25,
        26,
        27,
        28,
        29
    ],
    [
        30,
        31,
        32,
        33,
        34,
        35,
        36,
        37,
        38,
        39
    ],
    [
        40,
        41,
        42,
        43,
        44,
        45,
        46,
        47,
        48,
        49
    ],
    [
        50,
        51,
        52,
        53,
        54,
        55,
        56,
        57,
        58,
        59
    ],
    [
        60,
        61,
        62,
        63,
        64,
        65,
        66,
        67,
        68,
        69
    ],
    [
        70,
        71,
        72,
        73,
        74,
        75
    ]
]
*/

 

posted @ 2022-12-25 20:21  Zhentiw  阅读(79)  评论(0编辑  收藏  举报