ts-data-forge
    Preparing search index...
    • Sorts an array.

      Type Parameters

      • const Ar extends readonly unknown[]

      Parameters

      • ...__namedParameters: Ar extends readonly number[]
            ? readonly [Ar, ((x: Ar[number], y: Ar[number]) => number) | undefined]
            : readonly [Ar, (x: Ar[number], y: Ar[number]) => number]

      Returns IsFixedLengthList<Ar> extends true
          ? MakeTupleImpl<Ar[number], `${Ar["length"]}`, []>
          : Ar extends readonly [unknown, unknown]
              ? readonly [Ar[number], Ar[number]]
              : readonly Ar[number][]

      const numbers = [3, 1, 2] as const;

      const words = ['banana', 'apple', 'cherry'] as const;

      const ascendingNumbers = Arr.toSorted(numbers);

      const alphabetical = Arr.toSorted(words, (left, right) =>
      left.localeCompare(right),
      );

      const expectedNumbers = [1, 2, 3] as const;

      const expectedWords = ['apple', 'banana', 'cherry'] as const;

      assert.deepStrictEqual(ascendingNumbers, expectedNumbers);

      assert.deepStrictEqual(alphabetical, expectedWords);