ts-data-forge
    Preparing search index...
    • Finds the element with the minimum mapped value.

      Type Parameters

      • const Ar extends readonly unknown[]

      Parameters

      • array: Ar
      • comparatorValueMapper: (value: Ar[number]) => number

      Returns Ar extends readonly [unknown, unknown]
          ? Readonly<{ value: Ar<Ar>[number] }>
          : Optional<Ar[number]>

      const users = [
      { id: 1, visits: 10 },
      { id: 2, visits: 3 },
      { id: 3, visits: 5 },
      ] as const;

      const leastVisits = Arr.minBy(users, (user) => user.visits);
      const custom = Arr.minBy(
      users,
      (user) => user.visits,
      (a, b) => b - a,
      );

      assert.deepStrictEqual(leastVisits, Optional.some({ id: 2, visits: 3 }));
      assert.deepStrictEqual(custom, Optional.some({ id: 1, visits: 10 }));
    • Finds the element with the minimum mapped value.

      Type Parameters

      • const Ar extends readonly unknown[]
      • V

      Parameters

      • array: Ar
      • comparatorValueMapper: (value: Ar[number]) => V
      • comparator: (x: V, y: V) => number

      Returns Ar extends readonly [unknown, unknown]
          ? Readonly<{ value: Ar<Ar>[number] }>
          : Optional<Ar[number]>

      const users = [
      { id: 1, visits: 10 },
      { id: 2, visits: 3 },
      { id: 3, visits: 5 },
      ] as const;

      const leastVisits = Arr.minBy(users, (user) => user.visits);
      const custom = Arr.minBy(
      users,
      (user) => user.visits,
      (a, b) => b - a,
      );

      assert.deepStrictEqual(leastVisits, Optional.some({ id: 2, visits: 3 }));
      assert.deepStrictEqual(custom, Optional.some({ id: 1, visits: 10 }));