Function partition

  • Creates two arrays, the first containing the elements for which the predicate returned true, and the second containing the elements for which the predicate returned false.

    Type Parameters

    • T extends readonly unknown[]

    • S extends unknown

    Parameters

    • array: T

      The array to partition.

    • predicate: ((element: T[number], index: number) => element is S)

      The predicate to match the elements against.

        • (element: T[number], index: number): element is S
        • Parameters

          • element: T[number]
          • index: number

          Returns element is S

    Returns [trueElements: S[], falseElements: inferReversePredicate<typeof predicate>[]]

    A tuple containing the two arrays.

    Example

    Basic usage

    const [even, odd] = partition(
    [1, 2, 3, 4, 5],
    (n) => n % 2 === 0 // (true if n is even)
    )
    console.log(even) // [2, 4]
    console.log(odd) // [1, 3, 5]

    Type narrowing

    import { isString } from 'uft'

    const [strings, other] = partition(
    [1, 'foo', { bar: '' }],
    isString
    )
    strings // type: string[]
    other // type: (number | { bar: string })[]
  • Type Parameters

    • T extends readonly unknown[]

    • S

    Parameters

    • array: T
    • predicate: ((element: T[number], index: number) => element is S)
        • (element: T[number], index: number): element is S
        • Parameters

          • element: T[number]
          • index: number

          Returns element is S

    Returns [trueElements: AssignableTo<T[number], S>[], falseElements: AssignableTo<T[number], inferReversePredicate<typeof predicate>>[]]

  • Type Parameters

    • T extends readonly unknown[]

    Parameters

    • array: T
    • predicate: ((element: T[number], index: number) => boolean)
        • (element: T[number], index: number): boolean
        • Parameters

          • element: T[number]
          • index: number

          Returns boolean

    Returns [trueElements: ToMutableArray<T>, falseElements: ToMutableArray<T>]

Generated using TypeDoc