dist/underscore-contrib.js
function(array, n, step) {
      step = (step != null) ? step : n;

      var p = function(array, n, step) {
        if (_.isEmpty(array)) return [];

        return _.cons(_.take(array, n),
                      p(_.drop(array, step), n, step));
      };

      return p(array, n, step);
    }
function(array, n, step) {
      step = (step != null) ? step : n;

      var p = function(array, n, step) {
        if (_.isEmpty(array)) return [];

        return _.cons(_.take(array, n),
                      p(_.drop(array, step), n, step));
      };

      return p(array, n, step);
    }
function ( array , n , step ) { step = ( step != null ) ? step : n ; var p = function ( array , n , step ) { if ( _ . isEmpty ( array ) ) return [ ] ; return _ . cons ( _ . take ( array , n ) , p ( _ . drop ( array , step ) , n , step ) ) ; } ; return p ( array , n , step ) ; }
Takes an array and chunks it some number of times into sub-arrays of size n.  If the array given cannot fill the size needs of the final chunk then a smaller chunk is used for the last.
Takes an array and chunks it some number of times into sub - arrays of size n . If the array given cannot fill the size needs of the final chunk then a smaller chunk is used for the last .