es-toolkit/docs/reference/array/uniqBy.md
2024-08-31 14:45:20 +09:00

862 B

uniqBy

Returns a new array containing only the unique elements from the original array, based on the values returned by the mapper function.

Signature

function uniqBy<T, U>(arr: T[], mapper: (item: T) => U): T[];

Parameters

  • arr (T[]): The array to process.
  • mapper ((item: T) => U): The function used to convert the array elements.

Returns

(T[]): A new array containing only the unique elements from the original array, based on the values returned by the mapper function.

Examples

uniqBy([1.2, 1.5, 2.1, 3.2, 5.7, 5.3, 7.19], Math.floor);
// [1.2, 2.1, 3.2, 5.7, 7.19]
const array = [
  { category: 'fruit', name: 'apple' },
  { category: 'fruit', name: 'banana' },
  { category: 'vegetable', name: 'carrot' },
];
uniqBy(array, item => item.category).length;
// 2