mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-03 16:47:49 +00:00
Bump to v4.0.0.
This commit is contained in:
35
slice.js
Normal file
35
slice.js
Normal file
@@ -0,0 +1,35 @@
|
||||
import baseSlice from './internal/baseSlice';
|
||||
import isIterateeCall from './internal/isIterateeCall';
|
||||
import toInteger from './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 _
|
||||
* @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 ? array.length : 0;
|
||||
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);
|
||||
}
|
||||
|
||||
export default slice;
|
||||
Reference in New Issue
Block a user