Skip to content

maxBy() function

返回给定 Iterable/AsyncIterable 中 f 返回值最大的元素。空 iterable 返回 undefined,值相同时第一个元素优先。

Signature:

typescript
function maxBy<A>(f: (a: A) => number, iterable: Iterable<A>): A | undefined;
function maxBy<A>(
  f: (a: A) => number,
  iterable: AsyncIterable<A>,
): Promise<A | undefined>;

Example

ts
maxBy(
  (a) => a.age,
  [
    { name: "a", age: 21 },
    { name: "b", age: 41 },
    { name: "c", age: 31 },
  ],
); // { name: "b", age: 41 }

maxBy((a) => a.length, []); // undefined

pipe(
  [{ score: 1 }, { score: 3 }, { score: 2 }],
  maxBy((a) => a.score),
); // { score: 3 }

Open Source Code

Released under the Apache-2.0 License.