मुख्य सामग्री पर जाएं
मॉड्यूल 1 · पाठ 2 का 2पाठ्यक्रम में 2/14~10 min
मॉड्यूल पाठ (2/2)

ऐरे और टुपल्स

जावास्क्रिप्ट में, सरणियों में किसी भी प्रकार के तत्व हो सकते हैं और गतिशील रूप से बढ़ या सिकुड़ सकते हैं। टाइपस्क्रिप्ट यह सुनिश्चित करने के लिए स्थैतिक प्रकार की जाँच जोड़ता है कि संग्रह सजातीय बने रहें या एक निश्चित प्रकार की संरचना का सम्मान करें।


सारणियाँ (सजातीय संग्रह)

टाइपस्क्रिप्ट में, एक ही प्रकार के तत्वों वाले सरणी के प्रकार को परिभाषित करने के दो समकक्ष तरीके हैं:

  1. वर्गाकार कोष्ठक ([]) के बाद तत्व प्रकार का उपयोग करना:

    TS
    const numbers: number[] = [1, 2, 3];
    const strings: string[] = ['a', 'b', 'c'];
  2. सामान्य Array<T> प्रकार का उपयोग करना:

    TS
    const numbers: Array<number> = [1, 2, 3];

दोनों वाक्यविन्यास पूरी तरह से मान्य हैं, लेकिन पहला (type[]) पारंपरिक और सबसे आम शैली है। यदि आप एक अमान्य मान डालने का प्रयास करते हैं (उदाहरण के लिए number[] सरणी पर numbers.push("hello")), तो टाइपस्क्रिप्ट एक संकलन-समय त्रुटि उत्पन्न करेगा।


टुपल्स (निश्चित-लंबाई सारणी)

ट्यूपल एक विशेष प्रकार की सरणी है जिसमें तत्वों की निश्चित संख्या होती है, जहां प्रत्येक तत्व की स्थिति के आधार पर पूर्वनिर्धारित विशिष्ट प्रकार होता है।

उदाहरण के लिए, एक स्टेटस कोड (संख्या) और एक संदेश (स्ट्रिंग) से बनी HTTP प्रतिक्रिया को संग्रहीत करने के लिए:

TS
const response: [number, string] = [200, 'OK'];

इस मामले में:

  • पहला तत्व (response[0]) एक number होना चाहिए।
  • दूसरा तत्व (response[1]) एक string होना चाहिए।
  • सरणी को बिल्कुल 2 तत्वों के साथ प्रारंभ किया जाना चाहिए।

केवल पढ़ने योग्य टुपल्स (readonly)

टाइपस्क्रिप्ट में टुपल्स के बारे में एक महत्वपूर्ण विवरण यह है कि रनटाइम पर वे सामान्य जावास्क्रिप्ट एरे होते हैं। इसका मतलब यह है कि .push() या .pop() जैसी उत्परिवर्तनीय विधियां तकनीकी रूप से उपलब्ध हैं और प्रकार की जांच को आंशिक रूप से दरकिनार करते हुए टपल की लंबाई को बदल सकती हैं।

इस व्यवहार को रोकने और सच्ची अपरिवर्तनीयता को लागू करने के लिए, हम readonly संशोधक का उपयोग कर सकते हैं:

TS
const point: readonly [number, number] = [10, 20];
// point.push(30); // Compile-time error!

खुद कोशिश करना

अभ्यास 1: संख्याओं की सारणी

व्यायाम#ts.m1.l2.e1
प्रयास: 0लोड हो रहा है...

स्कोर नामक एक सरणी घोषित करें जिसमें केवल संख्याएँ हों और मान 90, 85 और 95 के साथ प्रारंभ किया गया हो। सरणी के लिए स्पष्ट प्रकार एनोटेशन का उपयोग करें। किसी भी प्रकार का प्रयोग न करें.

संपादक लोड हो रहा है...
संकेत दिखाएँ

सिंटैक्स कॉन्स्ट स्कोर का उपयोग करें: संख्या[] = ... या ऐरे&lt;संख्या&gt;।

3 प्रयासों के बाद समाधान उपलब्ध है

व्यायाम 2: 3डी समन्वय टपल

व्यायाम#ts.m1.l2.e2
प्रयास: 0लोड हो रहा है...

एक टुपल नामित बिंदु घोषित करें जो 3डी समन्वय (एक्स, वाई, जेड के लिए तीन संख्याएं) का प्रतिनिधित्व करता है और 10, 20, 30 मानों के साथ प्रारंभ किया गया है। स्पष्ट प्रकार एनोटेशन का उपयोग करें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

टुपल प्रकार [संख्या, संख्या, संख्या] होना चाहिए।

3 प्रयासों के बाद समाधान उपलब्ध है

अभ्यास 3: स्थान की जानकारी टुपल

व्यायाम#ts.m1.l2.e3
प्रयास: 0लोड हो रहा है...

LocationInfo नामक एक टपल घोषित करें जो अपने नाम के साथ एक भौगोलिक समन्वय का प्रतिनिधित्व करता है। इसमें शामिल होना चाहिए: अक्षांश (संख्या), देशांतर (संख्या) और शहर का नाम (स्ट्रिंग)। इसे 41.9028, 12.4964, और 'रोम' मानों के साथ प्रारंभ करें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

तीन तत्वों वाले टुपल को परिभाषित करने के लिए सिंटैक्स का उपयोग करें: [संख्या, संख्या, स्ट्रिंग]।

3 प्रयासों के बाद समाधान उपलब्ध है

अभ्यास 4: लॉग एंट्री टुपल

व्यायाम#ts.m1.l2.e4
प्रयास: 0लोड हो रहा है...

लॉग लाइन का प्रतिनिधित्व करने वाले logEntry नामक टुपल की घोषणा करें। इसमें क्रम में होना चाहिए: एक टाइमस्टैम्प (संख्या), एक गंभीरता स्तर (स्ट्रिंग), और एक त्रुटि संदेश (स्ट्रिंग)। इसे टाइमस्टैम्प 1716300000, लेवल 'जानकारी' और संदेश 'एप्लिकेशन शुरू हुआ' के साथ आरंभ करें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

तीन-तत्व टपल को परिभाषित करने के लिए सिंटैक्स का उपयोग करें: [संख्या, स्ट्रिंग, स्ट्रिंग] और निर्दिष्ट मान निर्दिष्ट करें।

3 प्रयासों के बाद समाधान उपलब्ध है