I just wrote this with the help of a groupBy function.
// utils_x000D_
const group = (source) => ({_x000D_
by: (grouping) => {_x000D_
const groups = source.reduce((accumulator, item) => {_x000D_
const name = JSON.stringify(grouping(item));_x000D_
accumulator[name] = accumulator[name] || [];_x000D_
accumulator[name].push(item);_x000D_
return accumulator;_x000D_
}, {});_x000D_
_x000D_
return Object.keys(groups).map(key => groups[key]);_x000D_
}_x000D_
});_x000D_
_x000D_
const chunk = (source, size) => group(source.map((item, index) => ({ item, index })))_x000D_
.by(x => Math.floor(x.index / size))_x000D_
.map(x => x.map(v => v.item));_x000D_
_x000D_
_x000D_
// 103 items_x000D_
const arr = [6,2,6,6,0,7,4,9,3,1,9,6,1,2,7,8,3,3,4,6,8,7,6,9,3,6,3,5,0,9,3,7,0,4,1,9,7,5,7,4,3,4,8,9,0,5,1,0,0,8,0,5,8,3,2,5,6,9,0,0,1,5,1,7,0,6,1,6,8,4,9,8,9,1,6,5,4,9,1,6,6,1,8,3,5,5,7,0,8,3,1,7,1,1,7,6,4,9,7,0,5,1,0];_x000D_
_x000D_
const chunks = chunk(arr, 10);_x000D_
_x000D_
console.log(JSON.stringify(chunks));
_x000D_