UNPKG

rhodash

Version:

A deadly simple alternative to lodash

19 lines (17 loc) 554 B
/** * For a given sequence, divide it into chunks of a given size and group them into arrays. * * @param array array you want to make chunk * @param size chunk size * @returns chunked array * @example chunk([1, 2, 3, 4, 5], 3) // => [[1, 2, 3], [4, 5]] */ export function chunk<T>(array: readonly T[], size: number): T[][] { if (size <= 0) return [[]] const result = [] as T[][] for (let i = 0; i < array.length; i++) { if (i % size === 0) result.push([array[i]]) else result[result.length - 1].push(array[i]) } return result }