ऐरे एक डेटा संरचना है जो तत्वों के एक क्रमबद्ध संग्रह को संग्रहीत करती है। जावास्क्रिप्ट में, सरणियों को एक विशेष प्रकार की वस्तु के रूप में वर्गीकृत किया जाता है और संख्याओं, स्ट्रिंग्स, ऑब्जेक्ट्स या अन्य सरणियों को संग्रहीत किया जा सकता है। किसी सरणी में तत्व वर्गाकार कोष्ठक [ ] में संलग्न होते हैं और शून्य-आधारित सूचकांक का उपयोग करते हैं। शून्य-आधारित सूचकांक का मतलब है कि किसी सरणी के पहले तत्व का सूचकांक 0 होगा, दूसरे तत्व का सूचकांक 1 होगा, इत्यादि।
const names = ["David", "Hannah", "William"]; console.log(names[0]); // returns the first element // returns "David" console.log(names[1]); // returns the second element // returns "Hannah" console.log(names[2]); // returns the third element // returns "William"
किसी खाली इंडेक्स को मान निर्दिष्ट करके किसी सरणी में एक नया तत्व जोड़ा जा सकता है।
names[3] = "Eric"; console.log(names); // returns ["David", "Hannah", "William", "Eric"]
किसी सरणी में तत्वों को मौजूदा सूचकांक में एक नया मान पुन: निर्दिष्ट करके संशोधित किया जा सकता है।
names[1] = "Juniper"; console.log(names); // returns ["David", "Juniper", "William", "Eric"]
सरणी को 'पुश', 'पॉप', 'अनशिफ्ट', 'शिफ्ट', 'स्लाइस' और 'स्प्लिस' जैसी सरणी विधियों से भी संशोधित या हेरफेर किया जा सकता है।
'पुश' विधि एक या अधिक तत्वों को तर्क के रूप में लेती है, तत्वों को सरणी के अंत में जोड़ती है, और संशोधित सरणी की लंबाई लौटाती है।
names.push("Bob"); // returns 5 console.log(names); // returns ["David", "Juniper", "William", "Eric", "Bob"]
'पॉप' विधि कोई तर्क नहीं लेती है, सरणी के अंतिम तत्व को हटा देती है, और हटाए गए तत्व को वापस कर देती है।
names.pop(); // returns "Bob" console.log(names); // returns ["David", "Juniper", "William", "Eric"]
'अनशिफ्ट' विधि एक या अधिक तत्वों को तर्क के रूप में लेती है, तत्वों को सरणी की शुरुआत में जोड़ती है, और संशोधित सरणी की लंबाई लौटाती है।
names.unshift("Jack", "Jane"); // returns 6 console.log(names); // returns ["Jack", "Jane", "David", "Juniper", "William", "Eric"]
'शिफ्ट' विधि कोई तर्क नहीं लेती है, किसी सरणी के पहले तत्व को हटा देती है, और हटाए गए तत्व को वापस कर देती है।
names.shift(); // returns "Jack" console.log(names); // returns ["Jane", "David", "Juniper", "William", "Eric"]
'स्लाइस' विधि दो वैकल्पिक तर्क (स्टार्टइंडेक्स, एंडइंडेक्स) लेती है और स्टार्टइंडेक्स से तत्वों के साथ एक नई सरणी लौटाती है, लेकिन मूल सरणी के एंडइंडेक्स को शामिल नहीं करती है।
यदि स्टार्टइंडेक्स को छोड़ दिया जाता है, तो 0 का उपयोग किया जाता है।
यदि एंडइंडेक्स को छोड़ दिया जाता है, तो सरणी लंबाई का उपयोग किया जाता है। नकारात्मक सूचकांक संख्याओं का उपयोग सरणी के अंत से गिनती करने के लिए किया जा सकता है।
names.slice(1, 3); // returns ["David", "Juniper"] names.slice(3); // returns ["Juniper", "William", "Eric"] names.slice(-2, 1); // returns ["William", "Eric", "Jane"] names.slice(); // returns ["Jane", "David", "Juniper", "William", "Eric"]
'स्प्लिस' विधि एक या अधिक तर्क लेती है (स्टार्टइंडेक्स, डिलीटकाउंट, एलिमेंट1, एलिमेंट2, ...) और सभी हटाए गए तत्वों वाली एक नई सरणी लौटाती है। स्टार्टइंडेक्स से, तत्वों की डिलीटकाउंट संख्या हटा दी जाती है और स्टार्टइंडेक्स से शुरू होने वाले सरणी में निम्नलिखित तत्व तर्क जोड़े जाएंगे। यदि डिलीटकाउंट को छोड़ दिया जाता है, तो स्टार्टइंडेक्स से लेकर सरणी के अंत तक के सभी तत्व हटा दिए जाते हैं। यदि तत्व तर्क छोड़ दिए जाते हैं, तो कोई तत्व नहीं जोड़ा जाता है।
names.splice(0, 1, "Joe", "Alex"); // returns ["Jane"] console.log(names); // returns ["Joe", "Alex", "David", "Juniper", "William", "Eric"] names.splice(1, 4); // returns ["Alex", "David", "Juniper", "William"] console.log(names); // returns ["Joe", "Eric"] names.splice(0, 0, "Bob", "Frank", "Maria") // returns [] console.log(names); // returns ["Joe", "Bob", "Frank", "Maria", "Eric"]
चूंकि 'पुश', 'पॉप', 'अनशिफ्ट', 'शिफ्ट, और 'स्प्लिस' मूल सरणी को संशोधित करते हैं, इसलिए उन्हें विनाशकारी तरीकों के रूप में वर्गीकृत किया जाता है। 'स्लाइस' विधि मूल सरणी को बरकरार रखती है, इसलिए इसे गैर-विनाशकारी के रूप में वर्गीकृत किया गया है।
किसी सरणी में तत्वों को जोड़ने या गैर-विनाशकारी तरीके से कॉपी करने के लिए, स्प्रेड ऑपरेटर का उपयोग किया जा सकता है। स्प्रेड ऑपरेटर एक सरणी को उसके तत्वों में फैलाता है।
const array = [1, 2, 3]; const newArray = [0, ...array, 4, 5]; // ...array spreads [1, 2, 3] into 1, 2, 3 console.log(newArray); // returns [1, 2, 3, 4, 5]
स्प्रेड ऑपरेटर के बिना, मूल सरणी को नई सरणी में नेस्ट किया जाएगा।
const array = [1, 2, 3]; const newArray = [0, array, 4, 5]; console.log(newArray); // returns [0, [1, 2, 3], 4, 5];
पुनरावृत्त सरणी विधियां किसी सरणी में प्रत्येक तत्व पर दिए गए फ़ंक्शन को कॉल करती हैं और एक मान या नई सरणी लौटाती हैं। प्रदान किए गए फ़ंक्शन को तीन तर्कों के साथ कॉल किया जाता है: वर्तमान तत्व, वर्तमान तत्व का सूचकांक, और मूल सरणी जिस पर विधि को कॉल किया गया था।
function callbackFunction (currentElement, currentIndex, originalArray) { // function body }
पुनरावृत्तीय सरणी विधियों के कुछ उदाहरण हैं: 'ढूंढें', 'फ़िल्टर', 'मानचित्र', और 'कम करें'।
'खोज' विधि एक फ़ंक्शन को एक तर्क के रूप में लेती है और सरणी में पहला तत्व लौटाती है जो फ़ंक्शन की शर्तों को पूरा करती है।
const numbers = [5, 10, 15, 20, 25]; numbers.find(number => number > 15); // returns 20;
'फ़िल्टर' विधि 'ढूंढें' विधि के समान है, लेकिन इसके बजाय उन सभी तत्वों की एक सरणी लौटाती है जो दिए गए फ़ंक्शन की शर्तों को पूरा करते हैं।
const numbers = [5, 10, 15, 20, 25]; numbers.filter(number => number > 15); // returns [20, 25];
'मैप' विधि मूल सरणी में प्रत्येक तत्व पर फ़ंक्शन को कॉल करने के परिणामों के साथ एक नई सरणी लौटाती है।
const numbers = [1, 2, 3, 4, 5]; numbers.map(number => number * number); // returns [1, 4, 9, 16, 25]
'कम' विधि एक तर्क के रूप में एक फ़ंक्शन और प्रारंभिक मान लेती है। प्रदत्त फ़ंक्शन को चार तर्क प्राप्त होते हैं: संचायक, वर्तमान मान, वर्तमान सूचकांक और मूल सरणी। प्रदान किया गया प्रारंभिक मान सरणी के पहले तत्व के लिए संचायक का मान है। प्रत्येक तत्व के लिए फ़ंक्शन का परिणाम सरणी में अगले तत्व के लिए संचायक के मूल्य के रूप में उपयोग किया जाता है। यदि प्रारंभिक मान प्रदान नहीं किया गया है, तो संचायक को सरणी के पहले तत्व पर सेट किया जाता है और कॉलबैक फ़ंक्शन को दूसरे तत्व से शुरू किया जाता है।
const numbers = [1, 2, 3, 4, 5] numbers.reduce(((acc, number) => acc number), 0); // returns 15
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3