Hvordan definerer man et array av strenger i et TypeScript-grensesnitt?


Jeg har et objekt som dette:

{
  "address": ["line1", "line2", "line3"]
}

Hvordan definere address i et grensesnitt? Antall elementer i arrayen er ikke fast.

Svar #1

interface Addressable {
  address: string[];
}

Svar #2

Et array er en spesiell type datatyper som kan lagre flere verdier av forskjellige datatyper sekvensielt ved å bruke en spesiell syntaks.

TypeScript støtter arrays, lik JavaScript. Det finnes to måter å erklære et array på:

  1. Bruke hakeparenteser. Denne metoden ligner på hvordan du ville deklarert arrays i JavaScript.
let fruits: string[] = ['Apple', 'Orange', 'Banana'];
  1. Ved å bruke en generisk arraytype, Array.
let fruits: Array<string> = ['Apple', 'Orange', 'Banana'];

Begge metodene gir samme resultat.

Selvfølgelig kan du alltid initialisere et array som vist nedenfor, men du vil ikke få fordelen av TypeScripts typesystem.

let arr = [1, 3, 'Apple', 'Orange', 'Banana', true, false];

Kilde

Svar #3

Det er så enkelt som dette:

address: string[]

Svar #4

Dette er svaret jeg kom hit for:

enum Lines {
  "line1",
  "line2",
  "line3",
}

interface Addressable {
   address: keyof typeof Lines;
}

Relaterte artikler