Home > Software engineering >  How do I type an object's key in an array in a type script?
How do I type an object's key in an array in a type script?

Time:12-15

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.

CodePudding user response:

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"];

CodePudding user response:

You can specify a custom type for your key string using a union:

type TempKeyType = "name" | "gender";

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

Link to playground

  • Related