UNPKG

zent

Version:

一套前端设计语言和基于React的实现

19 lines (16 loc) 462 B
// 支持一维对象字段提取 import { hasOwnProperty } from './hasOwn'; export default function pick<T extends Record<string, any>, K extends keyof T>( obj: T | null | undefined, keys: ReadonlyArray<K> ): Pick<T, K> { if (obj === null || obj === undefined) { return {} as Pick<T, K>; } return keys.reduce<Pick<T, K>>((acc, k: any) => { if (hasOwnProperty(obj, k)) { acc[k] = obj[k]; } return acc; }, {} as Pick<T, K>); }