pick
从对象中选取指定的属性
原始对象
{
"name": "Alice",
"age": 25,
"email": "alice@example.com",
"password": "secret123",
"address": "Beijing",
"phone": "13800138000"
}选择要保留的属性
pick 结果
{
"name": "Alice",
"email": "alice@example.com"
}函数签名
typescript
function pick<T extends object, K extends keyof T>(
obj: T,
keys: K[]
): Pick<T, K>参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
obj | T | 是 | 源对象 |
keys | K[] | 是 | 要选取的键名数组 |
返回值
| 类型 | 说明 |
|---|---|
Pick<T, K> | 只包含指定键的新对象 |
工作原理
- 创建新的空对象
- 遍历指定的键名数组
- 检查键是否存在于源对象
- 将存在的键值对复制到新对象
- 返回新对象
使用示例
typescript
const user = {
name: 'Alice',
age: 25,
email: 'alice@example.com',
password: 'secret'
}
pick(user, ['name', 'email'])
// { name: 'Alice', email: 'alice@example.com' }