Function maxBy

  • Returns the first element that is the largest value of the given function or undefined if there are no elements.

    Type Parameters

    • T

      The type of the elements in the array.

    Parameters

    • array: Iterable<T, any, any>

      The array to find the maximum element in.

    • selector: ((el: T) => number)

      The function to get the value to compare from each element.

        • (el): number
        • Parameters

          • el: T

          Returns number

    Returns T | undefined

    The first element that is the largest value of the given function or undefined if there are no elements.

    import { maxBy } from "@std/collections/max-by";
    import { assertEquals } from "@std/assert";

    const people = [
    { name: "Anna", age: 34 },
    { name: "Kim", age: 42 },
    { name: "John", age: 23 },
    ];

    const personWithMaxAge = maxBy(people, (person) => person.age);

    assertEquals(personWithMaxAge, { name: "Kim", age: 42 });
  • Returns the first element that is the largest value of the given function or undefined if there are no elements.

    Type Parameters

    • T

      The type of the elements in the array.

    Parameters

    • array: Iterable<T, any, any>

      The array to find the maximum element in.

    • selector: ((el: T) => string)

      The function to get the value to compare from each element.

        • (el): string
        • Parameters

          • el: T

          Returns string

    Returns T | undefined

    The first element that is the largest value of the given function or undefined if there are no elements.

    import { maxBy } from "@std/collections/max-by";
    import { assertEquals } from "@std/assert";

    const people = [
    { name: "Anna" },
    { name: "Kim" },
    { name: "John" },
    ];

    const personWithMaxName = maxBy(people, (person) => person.name);

    assertEquals(personWithMaxName, { name: "Kim" });
  • Returns the first element that is the largest value of the given function or undefined if there are no elements.

    Type Parameters

    • T

      The type of the elements in the array.

    Parameters

    • array: Iterable<T, any, any>

      The array to find the maximum element in.

    • selector: ((el: T) => bigint)

      The function to get the value to compare from each element.

        • (el): bigint
        • Parameters

          • el: T

          Returns bigint

    Returns T | undefined

    The first element that is the largest value of the given function or undefined if there are no elements.

    import { maxBy } from "@std/collections/max-by";
    import { assertEquals } from "@std/assert";

    const people = [
    { name: "Anna", age: 34n },
    { name: "Kim", age: 42n },
    { name: "John", age: 23n },
    ];

    const personWithMaxAge = maxBy(people, (person) => person.age);

    assertEquals(personWithMaxAge, { name: "Kim", age: 42n });
  • Returns the first element that is the largest value of the given function or undefined if there are no elements.

    Type Parameters

    • T

      The type of the elements in the array.

    Parameters

    • array: Iterable<T, any, any>

      The array to find the maximum element in.

    • selector: ((el: T) => Date)

      The function to get the value to compare from each element.

        • (el): Date
        • Parameters

          • el: T

          Returns Date

    Returns T | undefined

    The first element that is the largest value of the given function or undefined if there are no elements.

    import { maxBy } from "@std/collections/max-by";
    import { assertEquals } from "@std/assert";

    const people = [
    { name: "Anna", startedAt: new Date("2020-01-01") },
    { name: "Kim", startedAt: new Date("2021-03-01") },
    { name: "John", startedAt: new Date("2020-03-01") },
    ];

    const personWithLastStartedAt = maxBy(people, (person) => person.startedAt);

    assertEquals(personWithLastStartedAt, { name: "Kim", startedAt: new Date("2021-03-01") });