Function: slice()
slice<
ElementType>(iterable:IterableResolvable<ElementType>,start?:number,end?:number):IterableIterator<ElementType>
Defined in: projects/utilities/packages/iterator-utilities/src/lib/slice.ts:66
Produces an iterable with the elements from the start index to the end index (exclusive).
Type Parameters
| Type Parameter |
|---|
ElementType |
Parameters
| Parameter | Type | Description |
|---|---|---|
iterable | IterableResolvable<ElementType> | The iterator to slice. |
start? | number | The index at which to begin extraction. |
end? | number | The index at which to end extraction. |
Returns
IterableIterator<ElementType>
An iterator that contains the elements of the provided iterator from start to end.
Examples
import { slice } from '@sapphire/iterator-utilities';
const iterable = [1, 2, 3, 4, 5];
console.log([...slice(, 1, 3)]);
// Output: [2, 3]
const iterable = [1, 2, 3, 4, 5];
console.log([...slice(iterable, -2)]);
// Output: [4, 5]
const iterable = [1, 2, 3, 4, 5];
console.log([...slice(iterable, 2)]);
// Output: [3, 4, 5]
const iterable = [1, 2, 3, 4, 5];
console.log([...slice(iterable, 2, -1)]);
// Output: [3, 4]
const iterable = [1, 2, 3, 4, 5];
console.log([...slice(iterable, -2, -1)]);
// Output: [4]
const iterable = [1, 2, 3, 4, 5];
console.log([...slice(iterable, 2, 1)]);
// Output: []
Remarks
This function consumes the input iterator based on the start and end values, therefore, you should not use the
original iterator after calling this function.