जावास्क्रिप्ट में सारणियाँ शुरू में भ्रमित करने वाली और समझने में चुनौतीपूर्ण हो सकती हैं, खासकर उन्नत अवधारणाओं से निपटते समय। मुझे भी शुरुआत में जावास्क्रिप्ट में सरणियों को समझने में कठिनाई हुई। इस लेख में, मेरा लक्ष्य जावास्क्रिप्ट में सरणियों के रहस्यों को उजागर करना है, जो कुछ भी आपको जानना आवश्यक है उसे तोड़ना है ताकि आप आत्मविश्वास से उनके साथ काम कर सकें।
एक सरणी एक डेटा संरचना है जो तत्वों के संग्रह को संग्रहीत करती है, प्रत्येक को एक सूचकांक द्वारा पहुंच योग्य बनाया जाता है। कई प्रोग्रामिंग भाषाओं में, ऐरे तत्वों को सन्निहित मेमोरी स्थानों में संग्रहीत करते हैं। जावास्क्रिप्ट में, ऐरे उच्च-स्तरीय, सूची-जैसी वस्तुएं हैं जिनका उपयोग एक ही चर में एकाधिक मानों को संग्रहीत करने के लिए किया जाता है। वे शून्य-अनुक्रमित हैं, जिसका अर्थ है कि पहला तत्व सूचकांक 0 पर है।
चूंकि जावास्क्रिप्ट एक गतिशील रूप से टाइप की गई भाषा है, इसलिए एरे विभिन्न प्रकार के तत्वों को पकड़ सकते हैं। एक सरणी में संख्याएं, स्ट्रिंग्स, बूलियन, ऑब्जेक्ट और यहां तक कि अन्य सरणी भी हो सकती हैं। यह जावा या सी जैसी स्थिर रूप से टाइप की गई भाषाओं से भिन्न है, जहां सरणियाँ आम तौर पर सजातीय होती हैं और उनमें समान डेटा प्रकार के तत्व होने चाहिए।
ऐरे आपको मूल्यों को संग्रहीत करने, एक्सेस करने और हेरफेर करने की अनुमति देकर डेटा को कुशलतापूर्वक प्रबंधित करने में मदद करते हैं। उनका उपयोग किसी भी चीज़ के लिए किया जाता है जिसमें सूचियाँ या संग्रह शामिल होते हैं, जैसे ई-कॉमर्स कार्ट में आइटम प्रबंधित करना या उपयोगकर्ता इनपुट का ट्रैक रखना।
जावास्क्रिप्ट में ऐरे बनाने के कई तरीके हैं, मैं उनमें से कुछ के बारे में बताऊंगा:
जावास्क्रिप्ट में, आप बस एक चर या स्थिरांक को [] निर्दिष्ट करके एक सरणी बना सकते हैं
const numbers = [1, 2, 3]; const fruits = ["Apple", "Banana", "Orange"];
ध्यान दें कि किसी सरणी के तत्वों को अल्पविराम से अलग किया जाता है,
आप निम्नलिखित सिंटैक्स का उपयोग करके मूल जावास्क्रिप्ट ऐरे कंस्ट्रक्टर के उदाहरण के रूप में एक ऐरे भी बना सकते हैं:
स्थिरांक myArray = नया ऐरे()
ऐरे कंस्ट्रक्टर एक या अधिक तर्क लेता है (वे संख्याएँ होनी चाहिए), और यह आपके द्वारा दिए गए तर्कों की संख्या के अनुसार अलग-अलग व्यवहार करता है!
यदि आप एक तर्क पारित करते हैं: const myArray = new Array(4), तो यह 4 खाली तत्वों के साथ एक नई सारणी बनाएगा!
यदि आप एक से अधिक तर्क पारित करते हैं: const myArray = new Array(1, 2, 3), तो यह क्रमशः 3 संख्याओं 1, 2 और 3 की एक सरणी बनाता है और यह const myArray = [1, 2) लिखने के समान है , 3]!
मुझे पता है कि यह भ्रमित करने वाला लगता है लेकिन मुझ पर विश्वास करें यदि आप उनके साथ कुछ और अभ्यास करते हैं तो यह आसान है!
इस विधि Array.of का उपयोग करके ऐरे भी बनाए जा सकते हैं और यह केवल एक ऐरे बनाएगा जिसमें आपके द्वारा तर्क के रूप में पास किए गए सभी तत्व शामिल होंगे। Array.of और Array कंस्ट्रक्टर का उपयोग करने के बीच अंतर यह है कि जब वे एक तर्क प्राप्त करते हैं तो वे कैसे व्यवहार करते हैं!
const array1 = Array.of(1); // This returns [1] const array2 = Array.of(2, true, "hello"); // This returns [2, true, 'hello']
ध्यान दें कि जब Array.of एक पैरामीटर प्राप्त करता है तो वह कैसे व्यवहार करता है, Array कंस्ट्रक्टर के विपरीत जो केवल n खाली तत्वों की एक सरणी बनाता है, Array.of केवल एकल तत्व के साथ एक सरणी बनाता है जिसे आपने पास किया है!
आप Array.from(iterable) विधि का भी उपयोग कर सकते हैं, जो एक तर्क प्राप्त करता है जो एक पुनरावर्तनीय भी होना चाहिए और इससे एक सरणी बनाता है! उदाहरण के लिए, आप इस विधि में एक सेट पास कर सकते हैं और उस सेट के मानों से एक सरणी बना सकते हैं!
const mySet = new Set([2, 3, 4, 5, 5]); const arrayFromSet = Array.from(mySet);
हमने देखा कि ऐरे क्या है और आप जावास्क्रिप्ट में ऐरे कैसे बना सकते हैं, अब शेष समस्या जो आप खुद से पूछ रहे होंगे वह यह है कि मैं ऐरे का उपयोग कैसे करूं और उसके साथ कैसे काम करूं?
ख़ैर, यह एक अच्छा प्रश्न है!
परंपरागत रूप से, हम किसी सरणी में संग्रहीत तत्वों को पुनरावृत्त करने और उनका उपयोग करने के लिए लूप का उपयोग करते हैं!
निम्नलिखित उदाहरण दिखाता है कि आप संख्याओं की एक सरणी पर कैसे लूप कर सकते हैं और सरणी के अंदर प्रत्येक संख्या का दोगुना प्रदर्शित कर सकते हैं:
const numbers = [1, 2, 3, 4]; for (let i = 0; iआधुनिक जावास्क्रिप्ट सरणी विधि सिंटैक्स का उपयोग करना
जावास्क्रिप्ट बॉक्स से बाहर कई सरणी विधियों (उच्च-क्रम फ़ंक्शंस) के साथ आता है, वे Array.prototype ऑब्जेक्ट के माध्यम से सभी सरणी उदाहरणों तक पहुंच योग्य हैं, हम सरणी में संग्रहीत डेटा के साथ हेरफेर करने और काम करने के लिए जावास्क्रिप्ट द्वारा प्रदान की गई उन विधियों का उपयोग करते हैं! हम अपनी स्वयं की सरणी विधियां भी बना सकते हैं (हम इसे अगले अध्याय में देखेंगे)
वे उच्च-क्रम के तरीके हैं, क्योंकि वे अन्य कार्यों को तर्क के रूप में लेते हैं और उन कार्यों का उपयोग सरणियों में संग्रहीत डेटा में हेरफेर करने के लिए करते हैं!
उन सरणी विधियों को भी दो श्रेणियों में वर्गीकृत किया गया है:
- उत्परिवर्तन: ये सरणी पर लूप करते हैं और कॉलबैक फ़ंक्शन लागू करते समय, वे मूल सरणी को भी बदल देते हैं!
- गैर-परिवर्तनशील: ये सरणी पर पुनरावृत्त होते हैं और कॉलबैक फ़ंक्शन लागू करते हैं, लेकिन मूल सरणी को बदलने के बजाय, वे नई सरणी लौटाते हैं
1. प्रत्येक के लिए() विधि
forEach() एक सरणी उच्च-क्रम विधि है जिसका उपयोग किसी सरणी के तत्वों पर लूप करने और मूल सरणी को संशोधित किए बिना या एक नई सरणी बनाए बिना प्रत्येक तत्व पर कॉलबैक फ़ंक्शन लागू करने के लिए किया जाता है!
कॉलबैक फ़ंक्शन का सिंटैक्स जो आमतौर पर अज्ञात फ़ंक्शन होता है (आमतौर पर अन्य सभी तरीकों में समान):
function (currentElement[, index, targetArray]) {}इसका मतलब यह है कि प्रत्येक पुनरावृत्ति पर, सरणी विधि को पुनरावृत्ति (currentElement) में वर्तमान तत्व तक पहुंच प्राप्त होती है, यह सरणी सूचकांक में सूचकांक है जो वैकल्पिक है, और लक्ष्य सरणी का संदर्भ है जिसमें विधि निष्पादित की जा रही है targetArray जो वैकल्पिक भी है। लेकिन आप उन मापदंडों को अपनी इच्छानुसार कॉल कर सकते हैं, आपको बस उनकी स्थिति पर ध्यान देने की जरूरत है।
const numbers = [1, 2, 3, 4]; numbers.forEach((element) => { console.log(element * 2); });2. मानचित्र() विधि
forEach मैप की तरह यह भी ऐरे के तत्वों पर पुनरावृत्ति करने और प्रत्येक तत्व पर कॉलबैक फ़ंक्शन लागू करने का एक और तरीका है, लेकिन forEach के विपरीत यह नॉन-म्यूटेटिंग विधि है और इसलिए यह परिणामस्वरूप नया ऐरे बनाता है और लौटाता है पुनरावृत्ति और मूल सरणी नहीं बदलता है!
const numbers = [1, 2, 3, 4]; const squaredNumbers = numbers.map((element) => element * 2); console.log(squaredNumbers);3. फ़िल्टर() विधि
फ़िल्टर() विधि का उपयोग तब किया जाता है जब आप उन तत्वों को हटाकर सरणी को फ़िल्टर करना चाहते हैं जिन्हें आप नहीं चाहते हैं, यह गैर-परिवर्तनशील विधि है और यह एक नई सरणी लौटाती है!
प्रत्येक पुनरावृत्ति के लिए, फ़िल्टर() के अंदर कॉलबैक को एक बूलियन मान लौटाना होगा जो यह दर्शाता है कि वर्तमान तत्व को नए फ़िल्टर किए गए सरणी में शामिल किया जाना है या नहींconst numbers = [1, 2, 3, 4]; const evenNumbers = numbers.filter((element) => element % 2 === 0); console.log(evenNumber); // [2, 4]4. कम करें() विधि
reduce() विधि उपरोक्त विधि से थोड़ी भिन्न है। इसे प्रत्येक तत्व पर एक-एक करके फ़ंक्शन लागू करके किसी सरणी के सभी तत्वों को एक मान में संयोजित करने के तरीके के रूप में सोचें। यह सरणी के सभी तत्वों से एक एकल मान लौटाता है, आप इसका उपयोग तब करेंगे जब आप किसी सरणी के सभी तत्वों जैसे योग, औसत, अधिकतम या न्यूनतम से केवल कुछ का नाम बताने के लिए एक ही मान चाहते हैं!
वाक्यविन्यास भी अलग है
Array.reduce(function(संचायक, तत्व[, सूचकांक, लक्ष्यअरे]) [, प्रारंभिक वैल्यू])यह विधि दो तर्क लेती है, पहला अन्य विधियों की तरह कॉलबैक फ़ंक्शन है, और दूसरा संचायक चर का प्रारंभिक मान होगा। यह दूसरा तर्क वैकल्पिक है, यदि यह प्रदान नहीं किया गया है, तो रिड्यूस किसी सरणी के पहले तत्व को संचायक के प्रारंभिक मान के रूप में उपयोग करेगा
संचायक प्रत्येक पुनरावृत्ति पर कॉलबैक फ़ंक्शन द्वारा लौटाए गए परिणाम को रखता है और पुनरावृत्ति समाप्त होने के बाद कम से लौटाया गया अंतिम परिणाम होगा!
आइए संख्याओं की एक श्रृंखला से योग खोजने का प्रयास करें:
const numbers = [1, 2, 3, 4]; const sum = numbers.reduce((accumulator, element) => accumulator element); console.log(sum);4. स्लाइस() विधि
स्लाइस() जावास्क्रिप्ट में एक और उपयोगी सरणी विधि है, जिसका उपयोग किसी सरणी के एक छोटे हिस्से को निकालने के लिए किया जाता है! स्लाइस() मूल सरणी को संशोधित किए बिना मौजूदा सरणी के एक अनुभाग की प्रतिलिपि बनाकर एक नई सरणी बनाता है।
स्लाइस() विधि का सिंटैक्स इस प्रकार है:
Array.slice (स्टार्टइंडेक्स, एंडइंडेक्स) स्टार्टइंडेक्स निष्कर्षण के शुरुआती बिंदु का प्रतिनिधित्व करता है और यह समावेशी है और एंडइंडेक्स निष्कर्षण के अंतिम तत्व का प्रतिनिधित्व करता है, यह वैकल्पिक और अनन्य है। जब यह प्रदान नहीं किया जाता है, तो स्लाइस विधियां किसी सरणी को प्रारंभ इंडेक्स से किसी सरणी के अंत तक कॉपी करती हैं!const fruits = ["apple", "banana", "orange", "mango"]; const slicedFruits = fruits.slice(1, 3); // ['banana', 'orange']5. ब्याह() विधि
स्प्लिस() जावास्क्रिप्ट में एक सरणी विधि है, जिसका उपयोग सरणी में तत्वों को जोड़ने, हटाने और बदलने के लिए किया जाता है। ब्याह() सरणी में तत्वों को जोड़कर, हटाकर या प्रतिस्थापित करके सरणी की सामग्री को बदलता है।
स्प्लिस() विधि के लिए सिंटैक्स इस प्रकार है:
Array.splice(index, elementToRemove, newElement1, newElement2, ..., newElementn)
यह भ्रमित करने वाला लग सकता है लेकिन, मुझे समझाने का प्रयास करें:
इंडेक्स का मतलब उस एरे में शुरुआती इंडेक्स है जिसमें तत्व को हटाना शुरू होना चाहिए और यह समावेशी है।
ElementsToRemove इंडेक्स से उन तत्वों की संख्या का प्रतिनिधित्व करता है जिन्हें आप सरणी से हटाना चाहते हैं, यदि आप केवल नए तत्व जोड़ना चाहते हैं, तो आप इस स्थिति में 0 प्रदान कर सकते हैं।
newElement1, newElement2 इत्यादि। ये किसी भी संख्या में तत्व हो सकते हैं जिन्हें आप अपने सरणी में जोड़ना चाहते हैं और वे आपके सरणी में निर्दिष्ट elementToRemove तत्वों को प्रतिस्थापित कर देंगे!बहुत सारी बातें, आइए एक उदाहरण देखें:
const fruits = ["apple", "banana", "orange", "mango"]; // If we want to replace 'banana' with 'pineapple' const splicedFruits = fruits.splice(1, 1, "pineapple"); // This will return ['apple', 'pineapple', 'orange', 'mango']fruits.splice(1, 1, "अनानास") इसका मतलब है 1 के सूचकांक से, 1 तत्व हटाएं और 'अनानास' जोड़ें
यदि हम केवल अनानास को सरणी में जोड़ना चाहते थे और इसके साथ अन्य मान को प्रतिस्थापित नहीं करना चाहते थे, तो हम इसे इस प्रकार लिख सकते थे
फल.स्प्लिस(1, 0, "अनानास") यह इंडेक्स1 पर तत्व के बाद अनानास जोड़ देगा और इस सरणी से कोई अन्य तत्व नहीं हटाएगा।निष्कर्ष
सरणी जावास्क्रिप्ट में एक मौलिक और बहुमुखी विशेषता है, जो डेटा के संग्रह को संग्रहीत करने और हेरफेर करने के लिए एक आवश्यक संरचना प्रदान करती है। शाब्दिक उपयोग से सरल सरणी निर्माण से लेकर Array.of() और Array.from() जैसी अधिक उन्नत विधियों तक, JavaScript सारणी विभिन्न प्रकार के डेटा को संभालने के लिए कई तरीके प्रदान करती है। लूप्स या forEach(), मैप(), फ़िल्टर(), कम(), स्लाइस(), और स्प्लिस() जैसे आधुनिक तरीकों के माध्यम से सरणी हेरफेर में महारत हासिल करके, आप कुशलतापूर्वक जटिल ऑपरेशन कर सकते हैं। इन सरणी सुविधाओं को समझना जावास्क्रिप्ट में कुशल बनने की कुंजी है, जिससे आप अधिक स्वच्छ, अधिक संक्षिप्त और शक्तिशाली कोड लिख सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3