Function: flatMap()
flatMap<
ElementType
,MappedType
>(iterable
:IterableResolvable
<ElementType
>,callbackFn
: (element
:ElementType
,index
:number
) =>IterableResolvable
<MappedType
>):IterableIterator
<MappedType
>
Creates an iterable that yields the elements of each iterable returned by the provided function on each element of the input iterable.
Type Parameters
Type Parameter |
---|
ElementType |
MappedType |
Parameters
Parameter | Type | Description |
---|---|---|
iterable | IterableResolvable <ElementType > | An iterator to map. |
callbackFn | (element : ElementType , index : number ) => IterableResolvable <MappedType > | A function to execute for each element produced by the iterator. It should return an iterator or iterable that yields elements to be yielded by flatMap() , or a single non-iterator/iterable value to be yielded. |
Returns
IterableIterator
<MappedType
>
An iterator that applies a function to each element of the input iterator and yields the results.
Example
import { flatMap } from '@sapphire/iterator-utilities';
const iterable = [1, 2, 3];
console.log([...flatMap(iterable, (value) => [value, value * 2])]);
// Output: [1, 2, 2, 4, 3, 6]
Defined in
projects/utilities/packages/iterator-utilities/src/lib/flatMap.ts:21