split an array into subarrays code example

Example 1: javascript array split chunk

const chunk = (arr, size) => arr.reduce((acc, e, i) => (i % size ? acc[acc.length - 1].push(e) : acc.push([e]), acc), []);

// Examples
chunk([1, 2, 3, 4, 5, 6, 7, 8], 3);     // [[1, 2, 3], [4, 5, 6], [7, 8]]
chunk([1, 2, 3, 4, 5, 6, 7, 8], 4);     // [[1, 2, 3, 4], [5, 6, 7, 8]]

Example 2: chunk an array

function __chunk(array, size) {
  let chunkArray = [];
  return function _chunk(chunk = array) {
    if (chunk.length < size) {
      return chunkArray.push(chunk) && chunkArray;
    }
    return chunkArray.push(chunk.slice(0, size)) && _chunk(chunk.slice(size));
  };
}