bench/lib/benchmark.js
function slice(start, end) {
    var index = -1,
        object = Object(this),
        length = object.length >>> 0,
        result = [];

    start = toInteger(start);
    start = start < 0 ? max(length + start, 0) : min(start, length);
    start--;
    end = end == null ? length : toInteger(end);
    end = end < 0 ? max(length + end, 0) : min(end, length);

    while ((++index, ++start) < end) {
      if (start in object) {
        result[index] = object[start];
      }
    }
    return result;
  }
function slice(start, end) {
    var index = -1,
        object = Object(this),
        length = object.length >>> 0,
        result = [];

    start = toInteger(start);
    start = start < 0 ? max(length + start, 0) : min(start, length);
    start--;
    end = end == null ? length : toInteger(end);
    end = end < 0 ? max(length + end, 0) : min(end, length);

    while ((++index, ++start) < end) {
      if (start in object) {
        result[index] = object[start];
      }
    }
    return result;
  }
function slice ( start , end ) { var index = - 1 , object = Object ( this ) , length = object . length >>> 0 , result = [ ] ; start = toInteger ( start ) ; start = start < 0 ? max ( length + start , 0 ) : min ( start , length ) ; start -- ; end = end == null ? length : toInteger ( end ) ; end = end < 0 ? max ( length + end , 0 ) : min ( end , length ) ; while ( ( ++ index , ++ start ) < end ) { if ( start in object ) { result [ index ] = object [ start ] ; } } return result ; }
Creates an array of the host array's elements from the start index up to,
but not including, the end index.

@memberOf Benchmark.Suite
@param {Number} start The starting index.
@param {Number} end The end index.
@returns {Array} The new array.
Creates an array of the host array s elements from the start index up to but not including the end index .