Skip to content

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>

参数

参数名类型必填说明
objT源对象
keysK[]要选取的键名数组

返回值

类型说明
Pick<T, K>只包含指定键的新对象

工作原理

  1. 创建新的空对象
  2. 遍历指定的键名数组
  3. 检查键是否存在于源对象
  4. 将存在的键值对复制到新对象
  5. 返回新对象

使用示例

typescript
const user = {
  name: 'Alice',
  age: 25,
  email: 'alice@example.com',
  password: 'secret'
}

pick(user, ['name', 'email'])
// { name: 'Alice', email: 'alice@example.com' }