zent
Version:
一套前端设计语言和基于React的实现
17 lines (14 loc) • 399 B
text/typescript
export default function omit<T extends Record<string, any>, K extends keyof T>(
obj: T | null | undefined,
paths: ReadonlyArray<K>
): Omit<T, K> {
if (obj === null || obj === undefined) {
return {} as Omit<T, K>;
}
return Object.keys(obj).reduce<Omit<T, K>>((acc, k: any) => {
if (paths.indexOf(k) === -1) {
acc[k] = obj[k];
}
return acc;
}, {} as Omit<T, K>);
}