網站搜尋

如何在 TypeScript 中聲明一個具有未知鍵(UUID)的物件?


我正在學習 Typescript。我想知道如何宣告一個物件的未知鍵(它是一個 UUID:我事先不知道它的值),以及如何宣告我需要多個物件(相當於一個陣列:"employees: Person[]")。例如,在 JSON 中,我有:

let employees = {
   "5175d6f8-009f-11eb-adc1-0242ac120002": {
      name: "John",
      age: 23
   },
   "04c6dcc5-0442-4858-875d-695d4e933da2": {
      name: "Sophie",
      age: 30
   }
}

我如何在 Typescript 中聲明這個結構?提前感謝您的幫助!

答案#1

你可以使用索引類型簽名並像這樣定義類型

type Employee = {
  name: string
  age: number
}

type Employees = {
  [key: string]: Employee
}

答案#2

為了簡單起見,你也可以使用實用型別 Record

type Employee = {
   name: string
   age: number
}

type Employees = Record<string, Employee>