@modern-kit/utils
Version:
1 lines • 1.97 kB
Source Map (JSON)
{"version":3,"file":"index.cjs","sources":["../../../src/array/union/index.ts"],"sourcesContent":["import { uniq } from '../uniq';\n\n/**\n * @description 두 배열을 결합하고, 중복된 요소를 제거하여 고유한 값들로 이루어진 새 배열을 반환합니다.\n *\n * 기본적으로 `원시 값`에 대해서만 중복 요소를 판단합니다.\n *\n * 2번째 인자인 `iteratee` 함수를 제공하면, 각 요소를 iteratee 반환값에 따라 중복 여부를 판단할 수 있습니다.\n *\n * `iteratee` 함수를 제공하면, 각 요소를 특정 기준으로 중복을 판단할 수 있습니다.\n *\n * @template T - 배열 요소의 타입\n * @template U - `iteratee` 함수가 반환하는 값의 타입으로, 중복 판단에 사용됩니다.\n *\n * @param {T[] | readonly T[]} arr1 - 결합하고자 하는 첫 번째 배열\n * @param {T[] | readonly T[]} arr2 - 결합하고자 하는 두 번째 배열\n * @param iteratee - 각 요소를 특정 값으로 변환하여 중복 여부를 판단하는 함수입니다.\n *\n * @returns {T[]} 두 배열의 합집합을 나타내는 배열을 반환하며, 중복은 제거됩니다.\n *\n * @example\n * union([1, 2, 3], [2, 3, 4]); // [1, 2, 3, 4]\n *\n * @example\n * union(\n * [{ id: 1 }, { id: 2 }],\n * [{ id: 2 }, { id: 3 }],\n * item => item.id\n * ); // [{ id: 1 }, { id: 2 }, { id: 3 }]\n */\nexport function union<T>(\n arr1: T[] | readonly T[],\n arr2: T[] | readonly T[]\n): T[];\n\nexport function union<T, U = T>(\n arr1: T[] | readonly T[],\n arr2: T[] | readonly T[],\n iteratee?: (item: T) => U\n): T[];\n\nexport function union<T, U = T>(\n arr1: T[] | readonly T[],\n arr2: T[] | readonly T[],\n iteratee?: (item: T) => U\n): T[] {\n return uniq(arr1.concat(arr2), iteratee);\n}\n"],"names":["uniq"],"mappings":";;;;AAyCO,SAAS,KAAA,CACd,IAAA,EACA,IAAA,EACA,QAAA,EACK;AACL,EAAA,OAAOA,cAAA,CAAK,IAAA,CAAK,MAAA,CAAO,IAAI,GAAG,QAAQ,CAAA;AACzC;;;;"}