"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment récupérer les clés d'une interface TypeScript sous forme de tableau de chaînes ?

Comment récupérer les clés d'une interface TypeScript sous forme de tableau de chaînes ?

Publié le 2024-11-16
Parcourir:913

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

Accès aux clés d'une interface Typescript sous forme de tableau de chaînes

Introduction

Travailler avec des données tabulaires dans Typescript nécessite l'utilisation d'interfaces pour définir la colonne structures. Pour manipuler efficacement ces structures, il est souvent nécessaire de récupérer les noms de propriétés de ces interfaces sous forme de tableau de chaînes.

Solution

Utilisation de transformateurs personnalisés

Depuis la version 2.4 de Typescript , les transformateurs personnalisés fournissent un mécanisme pour extraire les clés des interfaces. Considérez l'interface suivante :

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

Pour obtenir les noms de propriétés sous forme de tableau :

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

const IMyTable = keys();

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

Limitations des transformateurs personnalisés

Bien que les transformateurs personnalisés offrent une solution pratique, ils nécessitent l'utilisation du Typescript API de transformation plutôt que la commande ts. Cette limitation peut entraver leur utilisation.

Alternatives

Dans les scénarios où les transformateurs personnalisés ne sont pas réalisables, les options alternatives incluent :

  • Utilisation de techniques de réflexion (non recommandées pour les performances raisons)
  • Spécifier explicitement le tableau de noms de propriétés (soumis à des erreurs humaines et à des frais de maintenance)
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3