"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > स्ट्रिंग्स की एक श्रृंखला के रूप में टाइपस्क्रिप्ट इंटरफ़ेस की कुंजी कैसे प्राप्त करें?

स्ट्रिंग्स की एक श्रृंखला के रूप में टाइपस्क्रिप्ट इंटरफ़ेस की कुंजी कैसे प्राप्त करें?

2024-11-16 को प्रकाशित
ब्राउज़ करें:310

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

स्ट्रिंग्स की एक सरणी के रूप में टाइपस्क्रिप्ट इंटरफ़ेस की कुंजी तक पहुंचना

परिचय

टाइपस्क्रिप्ट में सारणीबद्ध डेटा के साथ काम करने के लिए कॉलम को परिभाषित करने के लिए इंटरफेस के उपयोग की आवश्यकता होती है संरचनाएँ। इन संरचनाओं में कुशलतापूर्वक हेरफेर करने के लिए, स्ट्रिंग की एक सरणी के रूप में इन इंटरफेस के संपत्ति नामों को पुनः प्राप्त करना अक्सर आवश्यक होता है।

समाधान

कस्टम ट्रांसफार्मर का उपयोग करना

टाइपस्क्रिप्ट संस्करण 2.4 के बाद से , कस्टम ट्रांसफार्मर इंटरफेस से कुंजी निकालने के लिए एक तंत्र प्रदान करते हैं। निम्नलिखित इंटरफ़ेस पर विचार करें:

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

एक सरणी के रूप में संपत्ति के नाम प्राप्त करने के लिए:

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

const IMyTable = keys();

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

कस्टम ट्रांसफार्मर की सीमाएं

हालांकि कस्टम ट्रांसफार्मर एक सुविधाजनक समाधान प्रदान करते हैं, उन्हें टाइपस्क्रिप्ट के उपयोग की आवश्यकता होती है ts कमांड के बजाय परिवर्तन API। यह सीमा उनकी प्रयोज्यता में बाधा उत्पन्न कर सकती है। कारण)

संपत्ति के नामों की श्रृंखला को स्पष्ट रूप से निर्दिष्ट करना (मानवीय त्रुटि और रखरखाव ओवरहेड की संभावना)

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3