¿Cómo copiar o ampliar un array?

आखिरी अपडेट: 11/10/2023

सॉफ्टवेयर विकास में, arrays या सरणियाँ प्रोग्रामिंग के एक अनिवार्य भाग का प्रतिनिधित्व करती हैं। वे डेटा संरचनाएं हैं जो हमें एक ही नाम के तहत जानकारी के सेट को संग्रहीत करने की अनुमति देती हैं, जिससे हेरफेर और डेटा तक पहुंच की सुविधा मिलती है। डेटा का आकार और प्रकार जो भी हो, प्रोग्रामर को हमेशा ऐसे समय की आवश्यकता होती है किसी सरणी की प्रतिलिपि बनाएँ या उसका विस्तार करें. निम्नलिखित लेख में, हम विभिन्न प्रोग्रामिंग भाषाओं में इन ऑपरेशनों को कैसे निष्पादित करें, इसके बारे में विस्तार से समझाने पर ध्यान केंद्रित करेंगे।

किसी सारणी को कॉपी करने या विस्तारित करने की आवश्यकता को समझना

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

वहीं दूसरी ओर, यह इसके लायक है mencionar que जावा में ऐरे अपरिवर्तनीय वस्तुएं हैं, अर्थात, एक बार कोई सारणी बन जाने के बाद, उसका आकार नहीं बदल सकता। जावा में किसी ऐरे को "विस्तारित" करने के लिए, हमें एक नया बड़ा ऐरे बनाना होगा और फिर मूल ऐरे के तत्वों को नए ऐरे में कॉपी करना होगा। यह थोड़ा कठिन हो सकता है, लेकिन जावा मानक लाइब्रेरी में ऐसी विधियाँ निर्मित हैं System.arraycopy() y Arrays.copyOf() जिससे सुविधा हो सके यह प्रोसेस. उन भाषाओं के लिए जो गतिशील डेटा संरचनाओं को संभालती हैं, जैसे कि जावास्क्रिप्ट या पायथन, प्रक्रिया बहुत सरल है और जैसे तरीके हैं push() y append() जो नई सरणी बनाए बिना तत्वों को मौजूदा सरणी में जोड़ने की अनुमति देता है।

विशेष सामग्री - यहां क्लिक करें  Pixelmator में किसी लेयर को डुप्लिकेट कैसे करें?

जावास्क्रिप्ट में सरणियों की प्रतिलिपि बनाने के तरीकों की गहराई से जानकारी

जावास्क्रिप्ट में किसी ऐरे को कॉपी या डुप्लिकेट करने के लिए सबसे आम तरीका इसका उपयोग करना है स्लाइस() विधि. यह विधि प्रारंभ और अंत अनुक्रमणिका के बीच बनाई गई उपसरणी से सरणी की एक उथली प्रतिलिपि लौटाती है। यह मूल ऐरे को संशोधित नहीं करता है और कॉपी किए गए ऐरे को मूल ऐरे से पूरी तरह अलग कर देता है। यह ध्यान रखना महत्वपूर्ण है कि किसी सरणी के भीतर वस्तुओं की प्रतिलिपि बनाते समय, नए उदाहरण बनाने के बजाय मूल वस्तुओं के संदर्भ बनाए जाते हैं। इसका मतलब यह है कि यदि आप कॉपी किए गए एरे में ऑब्जेक्ट को संशोधित करते हैं, तो इसे मूल एरे में भी संशोधित किया जाएगा। वर्णन करने के लिए यहां कुछ कोड दिया गया है:


let arrayOriginal = ['a', 'b', 'c', 'd', 'e'];
let arrayCopia = arrayOriginal.slice();

Si lo que necesitas es किसी सरणी का विस्तार करें, JavaScript यह हमें प्रदान करता है इसे करने के कई तरीके. एक तरीका स्प्रेड ऑपरेटर का उपयोग करना है। यह ऑपरेटर आपको सरणी के भीतर पुनरावृत्त तत्वों का विस्तार करने की अनुमति देता है उत्पन्न करना एक नई सरणी जिसमें मूल सरणी के तत्व और अतिरिक्त तत्व शामिल हैं। एक अन्य विधि कॉनकैट () विधि है, जो एक नई सरणी लौटाती है जो मूल सरणी को एक या अधिक सरणी या मानों के साथ जोड़ने का परिणाम है। अंत में, आप पुश() विधि का भी उपयोग कर सकते हैं जो किसी सरणी के अंत में एक या अधिक तत्व जोड़ता है और सरणी की नई लंबाई लौटाता है। यहां आपके पास कुछ उदाहरण:


let array1 = [1, 2, 3];
let array2 = [...array1, 4, 5, 6]; // array2 ahora es [1, 2, 3, 4, 5, 6]


let array3 = [1, 2, 3];
let array4 = array3.concat([4, 5, 6]); // array4 ahora es [1, 2, 3, 4, 5, 6]


let array5 = [1, 2, 3];
array5.push(4, 5, 6); // array5 ahora es [1, 2, 3, 4, 5, 6]

किसी सरणी का विस्तार करना: अनुशंसित तकनीकें और अन्य विकल्प

प्रोग्रामिंग में किसी सरणी का विस्तार करना एक सामान्य कार्य है, खासकर जब बड़ी मात्रा में डेटा संग्रहीत करने और हेरफेर करने की बात आती है। हालाँकि, यदि सही तकनीक ज्ञात न हो तो कार्य चुनौतीपूर्ण हो सकता है। यहां, हम किसी सरणी के विस्तार के लिए कुछ अनुशंसित तकनीकों और अन्य विकल्पों पर चर्चा करेंगे। सबसे पहले, आप फ़ंक्शन का उपयोग कर सकते हैं Array.prototype.concat(). यह फ़ंक्शन दो या दो से अधिक सारणियों को जोड़ता है एक ही आव्यूह। इसके अलावा, यह मूल मैट्रिक्स को संशोधित नहीं करता है, जिसका अर्थ यह है कि डेटा अखंडता संरक्षित है. यहां Array.prototype.concat() का उपयोग करने का एक उदाहरण दिया गया है:


let array1 = [1, 2, 3];
let array2 = [4, 5, 6];
let newArray = array1.concat(array2);

// newArray ahora es [1, 2, 3, 4, 5, 6]

दूसरा विकल्प ऑपरेटर तकनीक का उपयोग करना है फैलाना (…) . यह ऑपरेटर आपको किसी सरणी से तत्व लेने और उन्हें एक नई सरणी में रखने की अनुमति देता है। Array.prototype.concat() के विपरीत, स्प्रेड ऑपरेटर सरणियों और ऑब्जेक्ट के साथ अच्छा काम करता है। इसका उपयोग किसी ऐरे को कॉपी करने के लिए भी किया जा सकता है। स्प्रेड ऑपरेटर का उपयोग कैसे करें इसका एक उदाहरण यहां दिया गया है:


let array1 = [1, 2, 3];
let newArray = [...array1, 4, 5, 6];

// newArray ahora es [1, 2, 3, 4, 5, 6]

अंत में, किस विधि का उपयोग करना है यह चुनना आपके प्रोजेक्ट की विशिष्ट आवश्यकताओं पर निर्भर करेगा। हालाँकि, Array.prototype.concat() और स्प्रेड ऑपरेटर दोनों ही सरणियों के विस्तार के लिए प्रभावी तकनीक हैं।

विशेष सामग्री - यहां क्लिक करें  मैं EaseUS Partition Master का उपयोग करके पार्टीशन का विस्तार क्यों नहीं कर पा रहा हूँ?

कुशल सारणी प्रबंधन: कोड प्रदर्शन के लिए निहितार्थ

सरणियों को संभालते समय, a शेयरों का इनमें से सबसे आम है कॉपी या एक्सटेंशन. हालाँकि, यह जानना आवश्यक है कि इन कार्यों को कैसे किया जाए कुशलता अच्छा कोड प्रदर्शन सुनिश्चित करने के लिए। इसलिए, हम दो मुख्य तरीकों का विश्लेषण करने जा रहे हैं: Array.prototype.slice() y Array.prototype.concat().

जब हमें किसी ऐरे को कॉपी करने की आवश्यकता होती है, तो हम फ़ंक्शन का उपयोग कर सकते हैं slice(). यह विधि हमें सरणी के एक हिस्से की एक उथली प्रतिलिपि एक नई सरणी ऑब्जेक्ट में बनाने की अनुमति देती है। अपने ऐरे का पूर्ण डुप्लिकेट बनाने के लिए, हम बिना किसी तर्क के केवल स्लाइस का उपयोग करते हैं, जैसे:

मूल संस्करण = [1, 2, 3, 4, 5]; var प्रतिलिपि = मूल.स्लाइस();

यह हमें 'मूल' सरणी के समान मूल्यों के साथ एक नई 'कॉपी' सरणी देगा। हालाँकि, यह माना जाना चाहिए कि यह विधि बड़े सरणियों के लिए सबसे कुशल नहीं है क्योंकि इसके परिणामस्वरूप अत्यधिक मेमोरी उपयोग और कोड धीमा हो सकता है।

विशेष सामग्री - यहां क्लिक करें  पीसी पर फ्री फायर कैसे इंस्टॉल करें

सरणियों के विस्तार के संबंध में, हम फ़ंक्शन का उपयोग करने का सुझाव देते हैं concat(). इस विधि का उपयोग दो या दो से अधिक ऐरे को मर्ज करने और एक नया ऐरे लौटाने के लिए किया जाता है। आइए कल्पना करें कि हमारे पास दो सरणियाँ 'array1' और 'array2' हैं जिनमें हम शामिल होना चाहते हैं। तो, हम कॉनकैट का उपयोग इस प्रकार कर सकते हैं:

var array1 = [1, 2, 3]; var array2 = [4, 5, 6]; var विस्तारित = array1.concat(array2);

यह [1, 2, 3, 4, 5, 6] मानों के साथ एक 'विस्तारित' सरणी लौटाएगा। जबकि, इसे याद रखना सुनिश्चित करें concat छोटे ऐरे को मर्ज करने के लिए यह बहुत अच्छा है, बड़े ऐरे के साथ काम करते समय यह बहुत अधिक मेमोरी की खपत कर सकता है।