UNPKG

@modern-kit/utils

Version:
1 lines 1.23 kB
{"version":3,"file":"index.mjs","sources":["../../../src/object/omit/index.ts"],"sourcesContent":["/**\n * @description 주어진 객체에서 지정된 키들을 제거한 객체를 반환하는 함수입니다.\n *\n * @template T - 원본 객체의 타입.\n * @template K - 제거할 키들의 타입, T의 키 중 일부.\n * @param {T} obj - 키를 제거할 원본 객체.\n * @param {K[] | readonly K[]} keys - 제거할 키들의 배열.\n * @returns {Omit<T, K>} - 지정된 키들이 제거된 새로운 객체.\n *\n * @example\n * const obj = { a: 1, b: 2, c: 3 };\n * const result = omit(obj, ['a', 'c']);\n * // { b: 2 }\n */\nexport function omit<T extends Record<PropertyKey, any>, K extends keyof T>(\n obj: T,\n keys: K[] | readonly K[]\n): Omit<T, K> {\n const result = { ...obj };\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n\n delete result[key];\n }\n\n return result;\n}\n"],"names":[],"mappings":"AAcO,SAAS,IAAA,CACd,KACA,IAAA,EACY;AACZ,EAAA,MAAM,MAAA,GAAS,EAAE,GAAG,GAAA,EAAI;AAExB,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,IAAA,CAAK,QAAQ,CAAA,EAAA,EAAK;AACpC,IAAA,MAAM,GAAA,GAAM,KAAK,CAAC,CAAA;AAElB,IAAA,OAAO,OAAO,GAAG,CAAA;AAAA,EACnB;AAEA,EAAA,OAAO,MAAA;AACT;;;;"}