dist/utilify.esm.js
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;
    }
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;
    }
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 ; }
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']]
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 .