I have an array
let arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]; 
I want to group it into a set of n arrays such that first n elements in result[0] next n elements in result[1] and if any element is remaining it is discarded.
let sampleOutput = [[0, 1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12, 13]] for n = 7; 
Here is my code:
function group5(arr, len) {
 let result = [];
 let loop=parseInt(arr.length/len)
 for (let i=0; i<arr.length; i+=len) {
  let x = []; let limitReached = false;
  for (let j=0; j<len; j++) {
   if (arr[i+j]) {
    x.push(arr[i+j]);
   } else {
    limitReached = true;
    break;
   }
  }
 if (!limitReached) {
  result.push(x);
 } else {
  break;
  }
 }
 return result;
}
But I am unable to get expected result. I have tried following things.
- Map function
- Running i loop to arr.len
- Checking arr.len % 7
- Creating an array for every third element.
- This question is not duplicate of Split array into chunks because I have to discard extra elements that can not be grouped into sets of n.
- I have to keep the original array Immutable because I am using this on props in a child component. I need a function that does not modify the original array.
 
     
     
     
     
     
    