Function flatten

  • Flattens an iterator or iterable.

    Strings are not flattened. Any string encountered while flattening nested iterables is treated as a single atomic value (same as Array.prototype.flat / Lodash flatten). To split a string into characters, spread it into an array first (e.g. [...str]) or iterate the string directly as the root input.

    Type Parameters

    Parameters

    • arg: T

      The iterator or iterable to flatten.

    Returns IterableIterator<FlattenDeep<T>>

    [...flatten(['abc'])]; // ['abc']
    [...flatten('abc')]; // ['a', 'b', 'c'] — root string is iterated, not flattened as a nested value
  • Flattens an iterator or iterable.

    Strings are not flattened. Any string encountered while flattening nested iterables is treated as a single atomic value (same as Array.prototype.flat / Lodash flatten). To split a string into characters, spread it into an array first (e.g. [...str]) or iterate the string directly as the root input.

    Type Parameters

    Parameters

    • arg: T

      The iterator or iterable to flatten.

    • depth: 1

      The number of levels to flatten (default: Infinity, i.e. deeply).

    Returns IterableIterator<FlattenDepth1<T>>

    [...flatten(['abc'])]; // ['abc']
    [...flatten('abc')]; // ['a', 'b', 'c'] — root string is iterated, not flattened as a nested value
  • Flattens an iterator or iterable.

    Strings are not flattened. Any string encountered while flattening nested iterables is treated as a single atomic value (same as Array.prototype.flat / Lodash flatten). To split a string into characters, spread it into an array first (e.g. [...str]) or iterate the string directly as the root input.

    Type Parameters

    Parameters

    • depth: 1

      The number of levels to flatten (default: Infinity, i.e. deeply).

    Returns (arg: T) => IterableIterator<FlattenDepth1<T>>

    [...flatten(['abc'])]; // ['abc']
    [...flatten('abc')]; // ['a', 'b', 'c'] — root string is iterated, not flattened as a nested value
  • Flattens an iterator or iterable.

    Strings are not flattened. Any string encountered while flattening nested iterables is treated as a single atomic value (same as Array.prototype.flat / Lodash flatten). To split a string into characters, spread it into an array first (e.g. [...str]) or iterate the string directly as the root input.

    Type Parameters

    Parameters

    • arg: T

      The iterator or iterable to flatten.

    • depth: 2

      The number of levels to flatten (default: Infinity, i.e. deeply).

    Returns IterableIterator<FlattenDepth2<T>>

    [...flatten(['abc'])]; // ['abc']
    [...flatten('abc')]; // ['a', 'b', 'c'] — root string is iterated, not flattened as a nested value
  • Flattens an iterator or iterable.

    Strings are not flattened. Any string encountered while flattening nested iterables is treated as a single atomic value (same as Array.prototype.flat / Lodash flatten). To split a string into characters, spread it into an array first (e.g. [...str]) or iterate the string directly as the root input.

    Type Parameters

    Parameters

    • depth: 2

      The number of levels to flatten (default: Infinity, i.e. deeply).

    Returns (arg: T) => IterableIterator<FlattenDepth2<T>>

    [...flatten(['abc'])]; // ['abc']
    [...flatten('abc')]; // ['a', 'b', 'c'] — root string is iterated, not flattened as a nested value
  • Flattens an iterator or iterable.

    Strings are not flattened. Any string encountered while flattening nested iterables is treated as a single atomic value (same as Array.prototype.flat / Lodash flatten). To split a string into characters, spread it into an array first (e.g. [...str]) or iterate the string directly as the root input.

    Type Parameters

    Parameters

    • arg: T

      The iterator or iterable to flatten.

    • depth: 3

      The number of levels to flatten (default: Infinity, i.e. deeply).

    Returns IterableIterator<FlattenDepth3<T>>

    [...flatten(['abc'])]; // ['abc']
    [...flatten('abc')]; // ['a', 'b', 'c'] — root string is iterated, not flattened as a nested value
  • Flattens an iterator or iterable.

    Strings are not flattened. Any string encountered while flattening nested iterables is treated as a single atomic value (same as Array.prototype.flat / Lodash flatten). To split a string into characters, spread it into an array first (e.g. [...str]) or iterate the string directly as the root input.

    Type Parameters

    Parameters

    • depth: 3

      The number of levels to flatten (default: Infinity, i.e. deeply).

    Returns (arg: T) => IterableIterator<FlattenDepth3<T>>

    [...flatten(['abc'])]; // ['abc']
    [...flatten('abc')]; // ['a', 'b', 'c'] — root string is iterated, not flattened as a nested value
  • Flattens an iterator or iterable.

    Strings are not flattened. Any string encountered while flattening nested iterables is treated as a single atomic value (same as Array.prototype.flat / Lodash flatten). To split a string into characters, spread it into an array first (e.g. [...str]) or iterate the string directly as the root input.

    Type Parameters

    Parameters

    • arg: T

      The iterator or iterable to flatten.

    • depth: 4

      The number of levels to flatten (default: Infinity, i.e. deeply).

    Returns IterableIterator<FlattenDepth4<T>>

    [...flatten(['abc'])]; // ['abc']
    [...flatten('abc')]; // ['a', 'b', 'c'] — root string is iterated, not flattened as a nested value
  • Flattens an iterator or iterable.

    Strings are not flattened. Any string encountered while flattening nested iterables is treated as a single atomic value (same as Array.prototype.flat / Lodash flatten). To split a string into characters, spread it into an array first (e.g. [...str]) or iterate the string directly as the root input.

    Type Parameters

    Parameters

    • depth: 4

      The number of levels to flatten (default: Infinity, i.e. deeply).

    Returns (arg: T) => IterableIterator<FlattenDepth4<T>>

    [...flatten(['abc'])]; // ['abc']
    [...flatten('abc')]; // ['a', 'b', 'c'] — root string is iterated, not flattened as a nested value
  • Flattens an iterator or iterable.

    Strings are not flattened. Any string encountered while flattening nested iterables is treated as a single atomic value (same as Array.prototype.flat / Lodash flatten). To split a string into characters, spread it into an array first (e.g. [...str]) or iterate the string directly as the root input.

    Type Parameters

    Parameters

    • arg: T

      The iterator or iterable to flatten.

    • depth: 5

      The number of levels to flatten (default: Infinity, i.e. deeply).

    Returns IterableIterator<FlattenDepth5<T>>

    [...flatten(['abc'])]; // ['abc']
    [...flatten('abc')]; // ['a', 'b', 'c'] — root string is iterated, not flattened as a nested value
  • Flattens an iterator or iterable.

    Strings are not flattened. Any string encountered while flattening nested iterables is treated as a single atomic value (same as Array.prototype.flat / Lodash flatten). To split a string into characters, spread it into an array first (e.g. [...str]) or iterate the string directly as the root input.

    Type Parameters

    Parameters

    • depth: 5

      The number of levels to flatten (default: Infinity, i.e. deeply).

    Returns (arg: T) => IterableIterator<FlattenDepth5<T>>

    [...flatten(['abc'])]; // ['abc']
    [...flatten('abc')]; // ['a', 'b', 'c'] — root string is iterated, not flattened as a nested value
  • Flattens an iterator or iterable.

    Strings are not flattened. Any string encountered while flattening nested iterables is treated as a single atomic value (same as Array.prototype.flat / Lodash flatten). To split a string into characters, spread it into an array first (e.g. [...str]) or iterate the string directly as the root input.

    Type Parameters

    Parameters

    • arg: T

      The iterator or iterable to flatten.

    • depth: number

      The number of levels to flatten (default: Infinity, i.e. deeply).

    Returns IterableIterator<unknown>

    [...flatten(['abc'])]; // ['abc']
    [...flatten('abc')]; // ['a', 'b', 'c'] — root string is iterated, not flattened as a nested value