code: function chunk(array, size) {
          size = Math.max(size, 0);
          var length = array === null ? 0 : array.length;
  
          if (!length || size < 1) {
              return [];
          }
  
          var index = 0;
          var resIndex = 0;
          var result = new Array(Math.ceil(length / size));
  
          while (index < length) {
              result[resIndex++] = this.slice(array, index, index += size);
          }
  
          return result;
      }
docs: Creates an array of elements split into groups the length of size.
  If array can't be split evenly, the final chunk will be the remaining elements.
  
  @category Array
  @param  {Array}    array      The array to proccess.
  @param  {Integer}  [size=1]   The length of each chunk.
  @return {Array}               Returns the new array of chunks.
  @example
  chunk(['a', 'b', 'c', 'd'], 2)
  // => [['a', 'b'], ['c', 'd']]
  
  chunk(['a', 'b', 'c', 'd'], 3)
  // => [['a', 'b', 'c'], ['d']]