code: function (array, size) {
        var r = [];
        for (var i = 0; i < array.length; i += size) {
          var s = array.slice(i, i + size);
          r.push(s);
        }
        return r;
      }
docs: It's a total micro optimisation, but these do make some difference. Particularly for browsers other than Chrome. - length caching http://jsperf.com/browser-diet-jquery-each-vs-for-loop/69 - not using push http://jsperf.com/array-direct-assignment-vs-push/2