UNPKG

@modern-kit/utils

Version:
1 lines 1.32 kB
{"version":3,"file":"index.cjs","sources":["../../../src/array/compact/index.ts"],"sourcesContent":["type Removable = false | 0 | '' | null | undefined;\ntype Retained<T> = Exclude<T, Removable>;\n/**\n * @description 배열에서 falsy 값을 제거합니다.\n *\n * `false`, `0`, `''`, `null`, `undefined`, `NaN`값을 제거하고 새로운 배열을 반환합니다.\n *\n * @template T - 배열 요소의 유형입니다.\n * @param {T[] | readonly T[]} arr - falsy 값을 제거할 배열입니다.\n * @returns {Retained<T>[]} falsy 값이 제거된 새로운 배열을 반환합니다.\n *\n * @example\n * const arr = [0, 1, false, 2, '', 3, null, undefined, 4, NaN, 5];\n *\n * compact(arr);\n * // [1, 2, 3, 4, 5]\n */\nexport function compact<T>(arr: T[] | readonly T[]): Retained<T>[] {\n const result: Retained<T>[] = [];\n\n for (let i = 0; i < arr.length; i++) {\n const item = arr[i];\n\n if (item) {\n result.push(item as Retained<T>);\n }\n }\n\n return result;\n}\n"],"names":[],"mappings":";;AAiBO,SAAS,QAAW,GAAA,EAAwC;AACjE,EAAA,MAAM,SAAwB,EAAC;AAE/B,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,GAAA,CAAI,QAAQ,CAAA,EAAA,EAAK;AACnC,IAAA,MAAM,IAAA,GAAO,IAAI,CAAC,CAAA;AAElB,IAAA,IAAI,IAAA,EAAM;AACR,MAAA,MAAA,CAAO,KAAK,IAAmB,CAAA;AAAA,IACjC;AAAA,EACF;AAEA,EAAA,OAAO,MAAA;AACT;;;;"}