Search code examples
typescripttypescript-generics

How do I type an object's key in an array in a type script?


I want to type the key values of the objects inside the already declared array.

const temp = [
  { key: "name", value: "mike" },
  { key: "gender", value: "male" },
];

I would like to extract the key values of the objects in the above temp array, name, gender, as a union type.


Solution

  • If you add the as const annotation to your array declaration, then you can easily extract the type of the keys:

    const temp = [
      { key: "name", value: "mike" },
      { key: "gender", value: "male" },
    ] as const;
    
    type TempKey = (typeof temp)[number]["key"];