Skip to content

pick

创建一个由指定属性组成的新对象。

该函数接受一个对象和一个键数组,并返回一个新对象,该对象仅包含与指定键对应的属性。

签名

typescript
function pick<T extends Record<string, any>, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;

参数

  • obj (T): 要提取属性的对象。
  • keys (K[]): 要从对象中提取的键数组。

返回值

(Pick<T, K>): 一个包含了指定键的新对象。

示例

typescript
const obj = { a: 1, b: 2, c: 3 };
const result = pick(obj, ['a', 'c']);
// result 将会是 { a: 1, c: 3 }

与 Lodash 的兼容性

es-toolkit/compat 中的 pick 函数可以处理深路径选择。

typescript
import { pick } from 'es-toolkit/compat';

const obj = { a: { b: { c: 1 } }, d: { e: 2 }, f: { g: 3 }, 'f.g': 4 };
const result = pick(obj, ['a.b.c', 'f.g']);
// result 将会是 { a: { b: { c: 1 } }, 'f.g': 4 }