UNPKG

@modern-kit/utils

Version:
1 lines 1.43 kB
{"version":3,"file":"index.mjs","sources":["../../../src/array/flattenDeepThenMap/index.ts"],"sourcesContent":["import {\n type ExtractNestedArrayType,\n flattenDeep,\n} from '../../array/flattenDeep';\n\n/**\n * @description 중첩 배열의 모든 깊이를 평탄화 한 후 제공된 iteratee 함수를 사용하여 각 요소를 매핑합니다.\n *\n * arr.flat(Infinity).map(iteratee)와 동일하게 동작하며, 타입 문제를 개선합니다.\n *\n * @template T - 배열 요소의 유형입니다.\n * @template U - 매핑 함수에 의해 반환되는 새로운 요소의 유형입니다.\n * @param {T[] | readonly T[]}arr - 평탄화할 중첩 배열입니다.\n * @param {(item: ExtractNestedArrayType<T>) => U} iteratee - 평탄화 후 각 요소에 적용 할 함수입니다.\n * @returns {U[]} 평탄화 후 각 요소가 iteratee 함수로 매핑된 새로운 배열입니다.\n *\n * @example\n * const arr = [1, [2, [3, [4]]]];\n * const iteratee = (item: number) => item * 2;\n *\n * flattenDeepThenMap(arr, iteratee);\n * // [2, 4, 6, 8]\n */\nexport function flattenDeepThenMap<T, U>(\n arr: T[] | readonly T[],\n iteratee: (item: ExtractNestedArrayType<T>) => U\n): U[] {\n return flattenDeep(arr).map((item) => iteratee(item));\n}\n"],"names":[],"mappings":";;;AAuBO,SAAS,kBAAA,CACd,KACA,QAAA,EACK;AACL,EAAA,OAAO,WAAA,CAAY,GAAG,CAAA,CAAE,GAAA,CAAI,CAAC,IAAA,KAAS,QAAA,CAAS,IAAI,CAAC,CAAA;AACtD;;;;"}