DEV Community

Houssn
Houssn

Posted on

write a function, chunk(arr, n), that returns chunked array of size n at the least. Look at

exampleGiven: [1, 4, 12, 3, 2, 6, -9, 0], n=3
Return: [[1,4,12], [3,2,6], [-9, 0]]
Given: [1, 4, 12, 3, 2, 6, -9, 0], n=4
Return: [[1,4,12,3], [2,6,-9,0]]
Given: [1, 4, 12, 3, 2, 6, -9, 0], n=7
Return: [[1,4,12,3,2,6,-9], [0] ]

const input = [656, 756, 5345, 67, 43, 76, 54, 768, 34];
const divideArray = (arr, size) => {
   return arr.reduce((acc, val, ind) => {
      const subIndex = ind % size;
      if(!Array.isArray(acc[subIndex])){
          acc[subIndex] = [val];
      }else{
          acc[subIndex].push(val);
      }
      return acc;
   }, []);
};
console.log(divideArray(input, 3));
Enter fullscreen mode Exit fullscreen mode

Top comments (0)