Maison > interface Web > js tutoriel > le corps du texte

Comment puis-je extraire un tableau de clés de propriété à partir d'une interface TypeScript ?

Susan Sarandon
Libérer: 2024-10-31 07:28:30
original
726 Les gens l'ont consulté

How Can I Extract an Array of Property Keys from a TypeScript Interface?

Clés de propriété d'interface TypeScript sous forme de tableau

Dans le développement TypeScript moderne, il est courant de rencontrer des interfaces complexes qui définissent la structure de divers modèles de données. Il est souvent nécessaire d'extraire un tableau de noms de propriétés d'une interface pour effectuer des opérations dynamiques ou créer des valeurs dérivées.

Exemple de cas d'utilisation

Considérons l'interface suivante représentant une table de base de données :

<code class="typescript">export interface IMyTable {
  id: number;
  title: string;
  createdAt: Date;
  isDeleted: boolean;
}</code>
Copier après la connexion

Nous aimerions obtenir un tableau de noms de colonnes à partir de cette interface :

<code class="typescript">const IMyTable = ["id", "title", "createdAt", "isDeleted"];</code>
Copier après la connexion

Solution utilisant un transformateur personnalisé

Depuis la version 2.3 de TypeScript (avec corrections de bugs en 2.4 ), les transformateurs personnalisés offrent une solution élégante à ce problème. Voici comment utiliser la bibliothèque "ts-transformer-keys" :

<code class="typescript">import { keys } from 'ts-transformer-keys';

interface Props {
  id: string;
  name: string;
  age: number;
}
const keysOfProps = keys<Props>();

console.log(keysOfProps); // ['id', 'name', 'age']</code>
Copier après la connexion

Cette approche nécessite d'utiliser l'API de transformation TypeScript plutôt que d'exécuter directement "tsc". Il est important de noter que les transformateurs personnalisés en sont encore à leurs débuts et peuvent nécessiter une configuration supplémentaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal