UNPKG

@modern-kit/utils

Version:
26 lines (24 loc) 1.25 kB
/** * @description 배열에서 중복된 요소를 제거하여 고유한 요소로 이루어진 새 배열을 반환합니다. * * 기본적으로 `원시 값`에 대해서만 중복 요소를 판단합니다. * * 2번째 인자인 `iteratee` 함수를 제공하면, 각 요소를 iteratee 반환값에 따라 중복 여부를 판단할 수 있습니다. * * @template T - 배열 요소의 타입 * @template U - `iteratee` 함수가 반환하는 값의 타입으로, 중복 판단에 사용됩니다. * * @param {T[] | readonly T[]} arr - 중복을 제거하고자 하는 배열입니다. * @param {(item: T) => U} iteratee - 각 요소를 특정 값으로 변환하여 중복 여부를 판단하는 함수입니다. * * @returns {T[]} 고유한 요소만 포함하는 새 배열을 반환합니다. `iteratee`가 제공되면, 변환된 값 기준으로 중복이 제거된 배열이 반환됩니다. * * @example * uniq([1, 2, 2, 3, 4]); // [1, 2, 3, 4] * * @example * uniq([{ id: 1 }, { id: 2 }, { id: 1 }], item => item.id); // [{ id: 1 }, { id: 2 }] */ declare function uniq<T>(arr: T[] | readonly T[]): T[]; declare function uniq<T, U = T>(arr: T[] | readonly T[], iteratee?: (item: T) => U): T[]; export { uniq };