| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | 
							- var baseSlice = require('./_baseSlice'),
 
-     isIterateeCall = require('./_isIterateeCall'),
 
-     toInteger = require('./toInteger');
 
- /* Built-in method references for those with the same name as other `lodash` methods. */
 
- var nativeCeil = Math.ceil,
 
-     nativeMax = Math.max;
 
- /**
 
-  * 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.
 
-  *
 
-  * @static
 
-  * @memberOf _
 
-  * @since 3.0.0
 
-  * @category Array
 
-  * @param {Array} array The array to process.
 
-  * @param {number} [size=1] The length of each chunk
 
-  * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
 
-  * @returns {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']]
 
-  */
 
- function chunk(array, size, guard) {
 
-   if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {
 
-     size = 1;
 
-   } else {
 
-     size = nativeMax(toInteger(size), 0);
 
-   }
 
-   var length = array == null ? 0 : array.length;
 
-   if (!length || size < 1) {
 
-     return [];
 
-   }
 
-   var index = 0,
 
-       resIndex = 0,
 
-       result = Array(nativeCeil(length / size));
 
-   while (index < length) {
 
-     result[resIndex++] = baseSlice(array, index, (index += size));
 
-   }
 
-   return result;
 
- }
 
- module.exports = chunk;
 
 
  |