const arr = [1, 2, 3, 4, 5, 6, 7, 8]; |
const groupSize = 3; |
const groups = arr.reduce((accumulator, currentValue, index) => { |
if (index % groupSize === 0) { |
accumulator.push([]); |
} |
accumulator[accumulator.length - 1].push(currentValue); |
return accumulator; |
}, []); |
console.log(groups); // [[1, 2, 3], [4, 5, 6], [7, 8]] |