@modern-kit/utils
Version:
1 lines • 1.79 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../../src/array/excludeElements/index.ts"],"sourcesContent":["import { difference } from '../../array/difference';\n\n/**\n * @description 주어진 배열에서 특정 요소를 제외한 배열을 반환하는 함수입니다.\n * `target` 배열에 포함된 요소들이 `arr`에서 필터링되며, 선택적으로 제공되는 `iteratee` 함수를\n * 사용하여 요소를 비교할 수 있습니다.\n *\n * @template T - 원본 배열(`arr`) 및 제외 대상 배열(`target`)의 요소 타입.\n * @template U - 선택적으로 제공되는 `iteratee` 함수의 반환 타입.\n *\n * @param {T[] | readonly T[]} arr - 제외할 요소들을 포함한 원본 배열.\n * @param {T[] | readonly T[]} target - 제외할 요소들을 포함한 배열.\n * @param {(item: T) => U} [iteratee] - 요소를 비교할 때 사용하는 선택적 함수.\n * 이 함수가 제공되면, 각 요소에 대해 함수의 반환값이 비교에 사용됩니다.\n *\n * @returns {T[]} - `target` 배열에 포함된 요소들이 제외된 원본 배열의 사본.\n *\n * @example\n * const arr = [1, 2, 3, 4];\n * const target = [2, 4];\n * const result = excludeElements(arr, target);\n * // 결과: [1, 3]\n *\n * @example\n * const arr = [{ id: 1 }, { id: 2 }, { id: 3 }];\n * const target = [{ id: 2 }];\n * const result = excludeElements(arr, target, item => item.id);\n * // 결과: [{ id: 1 }, { id: 3 }]\n */\nexport function excludeElements<T, U>(\n arr: T[] | readonly T[],\n target: T[] | readonly T[],\n iteratee?: (item: T) => U\n): T[] {\n return difference(arr, target, iteratee);\n}\n"],"names":[],"mappings":";;AA6BO,SAAS,eAAA,CACd,GAAA,EACA,MAAA,EACA,QAAA,EACK;AACL,EAAA,OAAO,UAAA,CAAW,GAAA,EAAK,MAAA,EAAQ,QAAQ,CAAA;AACzC;;;;"}