• Given an equality function elemEquals and two arrays a1 and a2, returns a boolean telling if the two arrays are equal according to this equality function. This function is curried on its first parameter

    Parameters

    • elemEquals: ((a1: any, a2: any) => boolean) = ...

      a function to compare elements of the array

        • (a1, a2): boolean
        • Parameters

          • a1: any
          • a2: any

          Returns boolean

    Returns ((a1: any[], a2: any[]) => boolean)

    a function to compare the arrays themselves

      • (a1, a2): boolean
      • Parameters

        • a1: any[]
        • a2: any[]

        Returns boolean

    arrayEquals()([1], [1]) // -> true
    arrayEquals()([1], [3]) // -> false
    arrayEquals((a,b) => (a-b)%2 === 0)([1], [3]) // -> true