|  | /** | 
|  | * The base implementation of `_.slice` without an iteratee call guard. | 
|  | * | 
|  | * @private | 
|  | * @param {Array} array The array to slice. | 
|  | * @param {number} [start=0] The start position. | 
|  | * @param {number} [end=array.length] The end position. | 
|  | * @returns {Array} Returns the slice of `array`. | 
|  | */ | 
|  | function baseSlice(array, start, end) { | 
|  | var index = -1, | 
|  | length = array.length; | 
|  |  | 
|  | if (start < 0) { | 
|  | start = -start > length ? 0 : (length + start); | 
|  | } | 
|  | end = end > length ? length : end; | 
|  | if (end < 0) { | 
|  | end += length; | 
|  | } | 
|  | length = start > end ? 0 : ((end - start) >>> 0); | 
|  | start >>>= 0; | 
|  |  | 
|  | var result = Array(length); | 
|  | while (++index < length) { | 
|  | result[index] = array[index + start]; | 
|  | } | 
|  | return result; | 
|  | } | 
|  |  | 
|  | module.exports = baseSlice; |