pluck 它返回 key:value 对象
pluck
key:value
function pluck<T>(source:T,key:keyof T):Record<typeof key , T[typeof key]>{ return {[key]:source[key]} }
source key 关于类型定义。
source
key
key 都是 keyof T ,其中它应该是一个泛型类型 因此可以推断为 中的键 T键
keyof T
T键
function pluck<T, K extends keyof T>(source: T, key: K): Record<K, T[K]> { return { [key]: source[key] } as Record<K, T[K]>; // see footnote* }
Record<K, T[K]> 可以更简洁地写成 Pick<T, K> :
Record<K, T[K]>
Pick<T, K>
function pluck<T, K extends keyof T>(source: T, key: K): Pick<T,K> { return { [key]: source[key] } as Pick<T,K>; // see footnote* }
希望这有帮助;祝你好运
*注意,由于 TypeScript bug 这(尽管已关闭)可能无法完全解决。