3 चीजें जो आप जावास्क्रिप्ट ऐरे के बारे में नहीं जानते हैं
Arrays प्रोग्रामिंग भाषाओं की एक व्यापक रूप से उपयोग की जाने वाली विशेषता है; वो हैं विशेष चर कि एक ही समय में कई मूल्यों को संग्रहीत करने के लिए इस्तेमाल किया जा सकता है। हालांकि, जब यह जावास्क्रिप्ट की बात आती है, जितना आसान यह सीखना है, हमेशा तलाशने के लिए अधिक होता है.
इस पोस्ट में, हम जावास्क्रिप्ट सरणियों के तीन कम प्रसिद्ध अभी तक महत्वपूर्ण विशेषताओं पर एक नज़र डालेंगे जिन्हें आप पहले नहीं जानते होंगे.
1. Arrays में कस्टम गुण जोड़ें
यदि आप जावास्क्रिप्ट सरणियों की पूरी परिभाषा की तलाश में इंटरनेट को परिमार्जन करने वाले थे, तो आप पाएंगे कि बिना असफलता के लगभग हर स्रोत सरणी को सूचीबद्ध करेगा। वास्तव में है, एक वस्तु.
वास्तव में, लगभग हर चीज जो हम जावास्क्रिप्ट में करेंगे एक वस्तु हो. जावास्क्रिप्ट में दो प्रकार के डेटा प्रकार होते हैं, पुरातन तथा वस्तुओं, परंतु आदिम हमेशा वस्तुओं के अंदर लपेटे जाते हैं.
एरे, फंक्शन, दिनांक, आदि हैं जावास्क्रिप्ट वस्तुओं को पूर्वनिर्धारित जिसमें बिल्ट-इन मेथड्स, प्रॉपर्टीज और अपने स्वयं के मानकीकृत सिंटैक्स होते हैं.
जावास्क्रिप्ट सरणियों हो सकता है तीन अलग-अलग प्रकार के गुण:
- एक सरणी के संकेत गुण भी हैं
- निर्मित गुण
- कस्टम गुण आप अपने आप से जोड़ सकते हैं
पहले दो अधिक प्रसिद्ध हैं, आप उन्हें हर दिन उपयोग कर सकते हैं, लेकिन चलो उन्हें कूदने से पहले जल्दी से देखें कि आप अपनी स्वयं की कस्टम संपत्ति को एक सरणी में कैसे जोड़ सकते हैं.
गुण के रूप में संकेत
जावास्क्रिप्ट सरणियों का उपयोग करें चौकोर कोष्ठक वाक्य रचना, जैसे कि var एरी = ["नारंगी", "सेब", "लीची"];
.
सरणी तत्वों के संकेत मूल रूप से हैं गुण जहां संपत्ति के नाम कर रहे हैं हमेशा गैर-नकारात्मक पूर्णांक.
सूचकांक-तत्व जोड़ी एक सरणी के समान है की-वैल्यू जोड़ी किसी वस्तु का.
इंड्स ऐरे ऑब्जेक्ट की एक अनूठी विशेषता है, और इसके अन्य अंतर्निहित गुणों के विपरीत, वे हो सकते हैं अकेले कोष्ठक वाक्य रचना के साथ सेट करें, जैसे कि एरी [3] = "पीच";
.
निर्मित गुण
Arrays भी है निर्मित गुण, जैसे कि array.length
. लंबाई
संपत्ति एक पूर्णांक मूल्य वहन करती है एक सरणी की लंबाई को दर्शाता है.
सामान्य तौर पर, अंतर्निहित संपत्तियां अक्सर पूर्वनिर्धारित जावास्क्रिप्ट ऑब्जेक्ट्स जैसे सरणियों में पाई जा सकती हैं। अंतर्निहित विधियों के साथ, वे मदद करते हैं जेनेरिक ऑब्जेक्ट्स को कस्टमाइज़ करें ताकि ऑब्जेक्ट्स अलग-अलग जरूरतों के लिए फिट हों.
बिल्ट-इन प्रॉपर्टीज को एक्सेस किया जा सकता है object.key
या वस्तु [ "कुंजी"]
वाक्य - विन्यास। तो आप भी लिख सकते हैं ary [ "लंबाई"]
किसी सरणी की लंबाई तक पहुँचने के लिए.
ऐरे ऑब्जेक्ट के लिए कस्टम गुण बनाएँ
अब बात करते हैं सरणियों के लिए अपने स्वयं के गुणों को जोड़ना. सरणी पूर्वनिर्धारित वस्तुएं हैं जो विभिन्न सूचकांकों पर विभिन्न प्रकार के मूल्यों को संग्रहीत करती हैं.
आमतौर पर किसी सरणी में कस्टम गुण जोड़ने की बहुत आवश्यकता नहीं है; यह एक कारण है कि शुरुआती आमतौर पर इस सुविधा के बारे में नहीं सिखाया जाता है। वास्तव में, यदि आप एक सामान्य वस्तु की तरह एक सरणी का इलाज करना चाहते हैं, तो इसमें कुंजी-मूल्य जोड़े जोड़कर आप भी हो सकते हैं अपने उद्देश्य के लिए एक सामान्य वस्तु का उपयोग करें. लेकिन, इसका मतलब यह नहीं है कि वहाँ नहीं हैं विशेष स्थितियां जहां आप इस तथ्य का उपयोग कर सकते हैं कि एक सरणी एक वस्तु है, इसमें एक या अधिक कस्टम गुण जोड़कर.
उदाहरण के लिए, आप एक सरणी में एक कस्टम गुण जोड़ सकते हैं अपने तत्वों के "प्रकार" या "वर्ग" की पहचान करता है, जैसे आप इसे नीचे दिए गए उदाहरण में देख सकते हैं.
var एरी = ["नारंगी", "सेब", "लीची"]; ary.itemClass = "फल"; कंसोल.लॉग (एरी + "" + एरी.इटेमक्लास) हैं; // "नारंगी, सेब, लीची फल हैं"
ध्यान दें कि आपके द्वारा किसी सरणी में जोड़ने वाली कस्टम प्रॉपर्टी है गणनीय, जिसका अर्थ है कि इसे लूप्स द्वारा उठाया जाएगा अंदर के लिए
बयान.
2. ऐरे तत्वों के माध्यम से लूप
आप शायद कहते हैं "मुझे पता है कि पहले से ही", जो कि सबसे अधिक संभावना है कि सच है, आप पहले से ही जानते हैं कि सरणी तत्वों के माध्यम से कैसे जाना है। लेकिन यह भी सच है कि "ऐरे तत्वों के माध्यम से पाश" कहना थोड़ा सार है, क्योंकि हम वास्तव में पाश हैं सरणी के सूचकांक.
चूंकि सरणी सूचकांक केवल से बने होते हैं गैर-नकारात्मक पूर्णांक, हम एक पूर्णांक मान को पुन: टाइप करते हैं जो आम तौर पर शून्य से शुरू होता है और सरणी की पूरी लंबाई पर समाप्त होता है, फिर किसी दिए गए सूचकांक में सरणी तत्व तक पहुंचने के लिए उस पुनरावृत्त मूल्य का उपयोग करें.
हालांकि ECMAScript6 के बाद से, वहाँ एक रास्ता है सरणी मूल्यों के माध्यम से सीधे लूप सूचकांकों के साथ परेशान किए बिना, और इसका उपयोग करके किया जा सकता है के लिए
पाश.
एक सरणी में, के लिए
लूप सरणी तत्वों के माध्यम से लूप करेगा सूचकांकों के क्रम में, दूसरे शब्दों में, यह सूचकांकों पर चलने और एक होने पर ध्यान रखेगा मौजूदा सरणी मान किसी दिए गए सूचकांक में। यह लूप आदर्श है यदि आप सभी सरणी तत्वों के माध्यम से लूप करना चाहते हैं, और उनके साथ काम करें.
var एरी = ["नारंगी", "सेब", "लीची"]; for (एरी का आइटम) कंसोल.लॉग (आइटम); // "नारंगी", "सेब", "लीची"
तुलना के लिए, नियमित के साथ के लिये
पाश, हम आउटपुट के रूप में मूल्यों के बजाय सूचकांक प्राप्त करते हैं.
var एरी = ["नारंगी", "सेब", "लीची"]; के लिए (var आइटम = 0; आइटम; < ary.length; item++) console.log(item); // 0, 1, 2
3. तत्वों की संख्या इसकी लंबाई नहीं है
आमतौर पर, जब हम के बारे में बोलते हैं एक सरणी की लंबाई, हम सोचते हैं कि यह या तो किसी सरणी के मान की संख्या है, या हमने सरणी को मैन्युअल रूप से जो लंबाई दी है। हालांकि वास्तव में, एक सरणी की लंबाई पर निर्भर करता है सबसे बड़ा मौजूदा सूचकांक इसके अंदर.
लंबाई एक है बहुत लचीली संपत्ति. चाहे आपने पहले से किसी सरणी की लंबाई पहले से तय की हो या नहीं, अगर आप सरणी में मानों को जोड़ना जारी रखते हैं, तो उसकी लंबाई तदनुसार बढ़ता रहता है.
var आर्य = []; ary.length = 3; console.log (ary.length); // 3 ऐरी [5] = "एबीडी"; console.log (ary.length); // 6
ऊपर दिए गए उदाहरण में, आप देख सकते हैं कि मैंने सरणी को इंडेक्स 5 पर केवल एक मान दिया है, और लंबाई 6. हो गई है, अगर आपको लगता है कि सूचकांक 5 पर एक मूल्य जोड़कर, सरणी ने स्वचालित रूप से 0 से 4 के सूचक बनाए हैं। , फिर आपकी धारणा गलत है. वास्तव में हैं 0 से 4 तक कोई मौजूदा सूचकांक नहीं उस सरणी में। आप इसका उपयोग करके जाँच कर सकते हैं में
ऑपरेटर.
var आर्य = []; ary.length = 3; console.log (ary.length); // 3 ऐरी [5] = "एबीडी"; console.log (ary.length); // 6 कंसोल.लॉग (एरी में 0); // असत्य
सरणी ary
जिसे हम कहते हैं a "विरल" सरणी, एक सरणी जहां सूचकांक लगातार नहीं बनाया जाता है, तथा अंतराल है. एक "विरल" सरणी के विपरीत है "घना" सरणी जहां सूचक सरणी में लगातार मौजूद हैं, और तत्वों की संख्या समान है लंबाई
.
लंबाई
संपत्ति भी सक्षम है एक सरणी काट रहा है, यह सुनिश्चित करना कि ऐरे में मौजूद उच्चतम इंडेक्स हमेशा बना रहे खुद से कम, जैसा लंबाई
डिफ़ॉल्ट रूप से उच्चतम सूचकांक से हमेशा संख्यात्मक रूप से अधिक होता है.
नीचे दिए गए उदाहरण में, आप देख सकते हैं कि कैसे हम घटते हुए सूचकांक 5 में तत्व को खो देते हैं लंबाई
का ary
सरणी.
var आर्य = []; ary.length = 3; console.log (ary.length); // 3 ऐरी [5] = "एबीडी"; console.log (ary.length); // 6 ary.length = 2; console.log (ary.length); // 2 कंसोल.लॉग (एरी [5]); // अपरिभाषित
आगे की पढाई
- 10 जावास्क्रिप्ट शर्तें जो आपको अब तक पता होनी चाहिए
- 4 नहीं-तो आम लेकिन उपयोगी जावास्क्रिप्ट बयान जो आपको पता होना चाहिए
- जेएस संकेत के साथ कोड अनुकूलन - जावास्क्रिप्ट को अस्तर करने के लिए एक उपकरण