You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					38 lines
				
				1.0 KiB
			
		
		
			
		
	
	
					38 lines
				
				1.0 KiB
			| 
											3 years ago
										 | var baseSlice = require('./_baseSlice'), | ||
|  |     isIterateeCall = require('./_isIterateeCall'), | ||
|  |     toInteger = require('./toInteger'); | ||
|  | 
 | ||
|  | /** | ||
|  |  * Creates a slice of `array` from `start` up to, but not including, `end`. | ||
|  |  * | ||
|  |  * **Note:** This method is used instead of | ||
|  |  * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are
 | ||
|  |  * returned. | ||
|  |  * | ||
|  |  * @static | ||
|  |  * @memberOf _ | ||
|  |  * @since 3.0.0 | ||
|  |  * @category Array | ||
|  |  * @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 slice(array, start, end) { | ||
|  |   var length = array == null ? 0 : array.length; | ||
|  |   if (!length) { | ||
|  |     return []; | ||
|  |   } | ||
|  |   if (end && typeof end != 'number' && isIterateeCall(array, start, end)) { | ||
|  |     start = 0; | ||
|  |     end = length; | ||
|  |   } | ||
|  |   else { | ||
|  |     start = start == null ? 0 : toInteger(start); | ||
|  |     end = end === undefined ? length : toInteger(end); | ||
|  |   } | ||
|  |   return baseSlice(array, start, end); | ||
|  | } | ||
|  | 
 | ||
|  | module.exports = slice; |