跳到主要内容

pickBy()

Call Signature​

function pickBy<T, K>(object, predicate): Pick<T, K>;

Defined in: packages/utils/src/object/pickBy.ts:10

创建仅保留满足断言属性的新对象(键类型谓词重载)

predicate 写成 (value, key): key is K 时,返回类型精确到 Pick<T, K>。

Type Parameters​

Type Parameter
T extends object
K extends string

Parameters​

ParameterTypeDescription
objectT源对象
predicate(value, key) => key is K收窄键的类型谓词

Returns​

Pick<T, K>

只含 K 的新对象

Call Signature​

function pickBy<T>(object, predicate): Partial<T>;

Defined in: packages/utils/src/object/pickBy.ts:25

创建仅保留满足断言属性的新对象

返回 Partial<T> 而不是 T:任何一个键都可能被 predicate 过滤掉, 声明成 T 会让 result.b.toFixed() 这类访问在 strict 下编译通过、 运行时读到 undefined(UTL-006)。需要精确类型时用上面的类型谓词重载。

Type Parameters​

Type Parameter
T extends object

Parameters​

ParameterTypeDescription
objectT源对象
predicate(value, key) => boolean返回 true 时保留属性

Returns​

Partial<T>

新对象