COLLECTED BY
Organization:
Internet Archive
Focused crawls are collections of frequently-updated webcrawl data from narrow (as opposed to broad or wide) web crawls, often focused on a single domain or subdomain.
The Wayback Machine - https://web.archive.org/web/20201220222257/https://github.com/lodash/lodash/blob/master/slice.js
Permalink
Cannot retrieve contributors at this time
47 lines (44 sloc)
1.21 KB
/**
* 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.
*
* @since 3.0.0
* @category Array
* @param {Array } array The array to slice.
* @param {number } [start=0] The start position. A negative index will be treated as an offset from the end.
* @param {number } [end=array.length] The end position. A negative index will be treated as an offset from the end.
* @returns {Array } Returns the slice of `array`.
* @example
*
* var array = [1, 2, 3, 4]
*
* _.slice(array, 2)
* // => [3, 4]
*/
function slice ( array , start , end ) {
let length = array == null ? 0 : array . length
if ( !length ) {
return [ ]
}
start = start == null ? 0 : start
end = end === undefined ? length : end
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
let index = - 1
const result = new Array ( length )
while ( ++ index < length ) {
result [ index ] = array [ index + start ]
}
return result
}
export default slice
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session.
You signed out in another tab or window. Reload to refresh your session.