Returns a new object with given properties copied from a source object.

pick({ name: "Jack", age: 69 }, ["age", "title"]);
// { age: 69 }
pick(["hello", "world"], [0]);
// { 0: hello }
  • Type Parameters

    • T extends object
    • K extends string | number | symbol

    Parameters

    • object: null | T

      source object

    • props: K[]

      properties to copy

    Returns T extends null
        ? {
            [key: string]: never;
        }
        : Pick<T, K>

    • new object with given properties