Skip to content

minBy

Import from @varavel/vdl-plugin-sdk/utils/arrays.

Utility functions re-exported from es-toolkit (MIT License). See https://github.com/toss/es-toolkit for more details.

Call Signature

function minBy<T>(items, getValue): T;

Finds the element in an array that has the minimum value when applying the getValue function to each element.

Type Parameters

Type Parameter Description
T The type of elements in the array.

Parameters

Parameter Type Description
items readonly [T, T] The nonempty array of elements to search.
getValue (element, index, array) => number A function that selects a numeric value from each element.

Returns

T

The element with the minimum value as determined by the getValue function.

Example

minBy([{ a: 1 }, { a: 2 }, { a: 3 }], x => x.a); // Returns: { a: 1 }
minBy([], x => x.a); // Returns: undefined
minBy(
  [
    { name: 'john', age: 30 },
    { name: 'jane', age: 28 },
    { name: 'joe', age: 26 },
  ],
  x => x.age
); // Returns: { name: 'joe', age: 26 }

Call Signature

function minBy<T>(items, getValue): T | undefined;

Finds the element in an array that has the minimum value when applying the getValue function to each element.

Type Parameters

Type Parameter Description
T The type of elements in the array.

Parameters

Parameter Type Description
items readonly T[] The array of elements to search.
getValue (element, index, array) => number A function that selects a numeric value from each element.

Returns

T | undefined

The element with the minimum value as determined by the getValue function, or undefined if the array is empty.

Example

minBy([{ a: 1 }, { a: 2 }, { a: 3 }], x => x.a); // Returns: { a: 1 }
minBy([], x => x.a); // Returns: undefined
minBy(
  [
    { name: 'john', age: 30 },
    { name: 'jane', age: 28 },
    { name: 'joe', age: 26 },
  ],
  x => x.age
); // Returns: { name: 'joe', age: 26 }