„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie rufe ich die Schlüssel einer TypeScript-Schnittstelle als Array von Strings ab?

Wie rufe ich die Schlüssel einer TypeScript-Schnittstelle als Array von Strings ab?

Veröffentlicht am 16.11.2024
Durchsuche:351

How to Retrieve the Keys of a TypeScript Interface as an Array of Strings?

Zugriff auf Schlüssel einer Typescript-Schnittstelle als Array von Strings

Einführung

Das Arbeiten mit Tabellendaten in Typescript erfordert die Verwendung von Schnittstellen zum Definieren von Spalten Strukturen. Um diese Strukturen effizient zu manipulieren, ist es häufig erforderlich, die Eigenschaftsnamen dieser Schnittstellen als Array von Zeichenfolgen abzurufen.

Lösung

Verwenden benutzerdefinierter Transformatoren

Seit Typescript Version 2.4 Benutzerdefinierte Transformatoren bieten einen Mechanismus zum Extrahieren von Schlüsseln aus Schnittstellen. Betrachten Sie die folgende Schnittstelle:

interface IMyTable {
  id: number;
  title: string;
  createdAt: Date;
  isDeleted: boolean;
}

Um die Eigenschaftsnamen als Array zu erhalten:

import { keys } from 'ts-transformer-keys';

const IMyTable = keys();

console.log(IMyTable); // ["id", "title", "createdAt", "isDeleted"]

Einschränkungen benutzerdefinierter Transformer

Benutzerdefinierte Transformer bieten zwar eine praktische Lösung, erfordern jedoch die Verwendung des Typescript Transformations-API anstelle des Befehls ts. Diese Einschränkung kann ihre Nutzbarkeit beeinträchtigen.

Alternativen

In Szenarien, in denen benutzerdefinierte Transformatoren nicht realisierbar sind, umfassen alternative Optionen:

  • Verwendung von Reflexionstechniken (aus Gründen der Leistung nicht empfohlen). Gründe)
  • Explizite Angabe des Arrays von Eigenschaftsnamen (anfällig für menschliches Versagen und Wartungsaufwand)
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3