जावास्क्रिप्ट में, दो सरणियों की तुलना करने के लिए हमें यह जाँचने की आवश्यकता है कि दोनों सरणियों की लंबाई समान है, इसमें मौजूद वस्तुएँ एक ही प्रकार की हैं और एक सरणी में प्रत्येक आइटम एक अलग सरणी में समकक्ष के बराबर है।
इस लेख में, हम 'पर प्रकाश डालते हैं' जावास्क्रिप्ट में सरणियों की तुलना कैसे करें '
तुल्यता निर्धारित करने के लिए सरणियों की तुलना करने की आवश्यकता हो सकती है। जावास्क्रिप्ट में सरणियाँ C या C++ में सरणियों से भिन्न होती हैं।
जावास्क्रिप्ट में Arrays में एक संख्या या टेक्स्ट इंडेक्स हो सकता है। क्रमांकित इंडेक्स का उपयोग करना, ट्रैवर्स करना और सरणियों की तुलना करना आसान है लेकिन टेक्स्ट इंडेक्स में यह जटिल है।
आइए देखते हैं कुछ संभावित तरीकों के बारे में सरणियों की तुलना करें विभिन्न परिदृश्यों में:
- सरणियों में एक क्रमांकित सूचकांक होता है और लंबाई में बराबर होता है।
- सरणियों में एक क्रमांकित सूचकांक होता है और लंबाई में बराबर नहीं होते हैं।
- सरणियों में एक टेक्स्ट इंडेक्स होता है और लंबाई में बराबर होता है।
- सरणियों में एक टेक्स्ट इंडेक्स होता है और लंबाई के बराबर नहीं होता है।
Arrays में एक संख्या अनुक्रमणिका होती है और लंबाई में समान होती है
उदाहरण के लिए, हमारे पास नीचे के रूप में दो सरणियाँ हैं, और हम इन सरणियों की तुलना करना चाहते हैं।
var Array1 = {"1", "2", "3"} var Array2 = {"1", "2", "4"}
उपरोक्त सरणियों में तत्वों की एक छोटी संख्या है, जो तीन (3) है। छोटे सरणी के लिए तुल्यता निर्धारित करना आसान है।
लेकिन लंबी सरणियों के लिए, हमें इसे खोजने के लिए कुछ विधि ढूंढनी होगी। जावास्क्रिप्ट एक अंतर्निर्मित लंबाई के साथ आता है विधि जिसका उपयोग सरणियों और वस्तुओं के साथ उनकी लंबाई खोजने के लिए किया जा सकता है।
इस लंबाई की तुलना सशर्त निर्माण का उपयोग करके की जा सकती है, अधिमानतः a यदि बयान। यह कुछ इस प्रकार होगा:
if(Array1.length == Array2.length){ // do something; }
लंबाई की तुलना करना आवश्यक है क्योंकि हम समान आकार वाले Arrays के मामले से निपट रहे हैं। यदि सरणियों की लंबाई समान है, तो सरणियों के क्रॉस तत्वों को आसानी से एक लूप का उपयोग करके जांचा जा सकता है, अधिमानतः एक for - फंदा।
यह कुछ इस प्रकार होगा:
for.... { document.write("Array 1 element " + Array1[i] + "is equal to "+ "Array 2 element " + Array2[i]); }
मारिया केरी का जापान में खराब प्रदर्शन
यह क्रॉस तत्वों की तुलना करते हुए कुछ टेक्स्ट स्टेटमेंट को आउटपुट करेगा। इसे सरल बनाने के लिए 'सरणी बराबर हैं' जैसे कुछ पाठ को आउटपुट करने के लिए संशोधित किया जा सकता है।
एक भी हो सकता है वरना वह भाग जो समान नहीं होने वाले सरणियों के मामले को संभाल सकता है।
Arrays में एक क्रमांकित अनुक्रमणिका है और लंबाई में समान नहीं हैं
जैसा कि हमने पिछले परिदृश्य के अन्य भाग में उल्लेख किया है, Arrays लंबाई में समान नहीं हो सकते हैं। ऐसी स्थिति में, Array 1 Array 2 के बराबर हो सकता है या Array 2 नहीं हो सकता है।
उदाहरण के लिए, Array 1 में तीन तत्व हैं जैसा कि हमने पहले उपयोग किया है लेकिन Array 2 में 4 तत्व हैं। ऐरे 2 में ऐरे 1 के सभी तत्व हैं लेकिन यह ऐरे 1 के लिए सही नहीं है।
ऐसे मामले के लिए हम एक ऐरे के प्रत्येक तत्व की तुलना दूसरे एरे के प्रत्येक तत्व के साथ कर सकते हैं और दूसरे तरीके से कर सकते हैं।
लेकिन इस मामले में, केवल एक सरणी दूसरे के बराबर हो सकती है या नहीं, लेकिन दोनों समान नहीं हो सकते क्योंकि उनकी लंबाई अलग-अलग होती है। इस तरह से सरणियों की तुलना करने के लिए, हम नेस्टेड लूप का उपयोग कर सकते हैं जो कुछ इस तरह हो सकता है:
for... for... { { if(Array[i] == Array[j]) { //do something } } }
हमें एक if . का उपयोग करना चाहिए नेस्टेड लूप के भीतर बयान जैसा कि हम विभिन्न आकारों के सरणियों के साथ काम कर रहे हैं।
Arrays में एक टेक्स्ट इंडेक्स होता है और लंबाई में बराबर होता है
पाठ अनुक्रमित सरणियाँ एक अच्छा अभ्यास नहीं है। यह लंबाई के साथ-साथ असमान लंबाई के सरणियों की तुलना करने के कार्य को और भी जटिल बनाता है। इसमें यह भी शामिल है 'सरणी में एक टेक्स्ट इंडेक्स होता है और बराबर नहीं होता है'।
समान लंबाई, प्रत्येक मान समान है
var1 और var2 की तुलना करने के लिए एक दृष्टिकोण यह जाँच कर रहा है कि क्या var1 का प्रत्येक मान var2 के संगत मान के बराबर है।
यह अच्छी तरह से काम करता है यदि सरणियों के सभी तत्व वस्तुओं के विपरीत आदिम हैं। ऑपरेशन के अंत में यह एक बूलियन मान देता है। यहाँ एक उदाहरण है:
const var1 = [1, 2, 3]; const var2 = [4, 5, 6]; const var3 = [1, 2, 3]; function arrayEquals(var1, var2) { return Array.isArray(var1) && Array.isArray(var2) && var1.length === var2.length && var1.every((val, index) => val === var2[index]); } arrayEquals(var1, var2); arrayEquals(var1, var3);
आउटपुट इस तरह दिखना चाहिए:
सच्चा झूठा
JSON.stringify () विधि का उपयोग करना
जावास्क्रिप्ट एक फ़ंक्शन प्रदान करता है JSON .स्ट्रिंग () किसी वस्तु या सरणी को JSON स्ट्रिंग में बदलने के लिए। JSON स्ट्रिंग में कनवर्ट करके हम सीधे जांच सकते हैं कि स्ट्रिंग बराबर हैं या नहीं।
हालांकि JSON .स्ट्रिंग () विधि एक सरणी को JSON स्ट्रिंग में परिवर्तित करती है। अवधारणा को अच्छी तरह से समझने के लिए नीचे दिए गए कार्यक्रम पर एक नज़र डालें।
डेनियल पाडिला और कैथरीन बर्नार्डो नवीनतम समाचार
function compareArrays(arr1, arr2){ // compare arrays const result = JSON.stringify(arr1) == JSON.stringify(arr2) // if result is true if(result){ console.log('The arrays have the same elements.'); } else{ console.log('The arrays have different elements.'); } } const array1 = [1, 3, 5, 8]; const array2 = [1, 3, 5, 8]; compareArrays(array1, array2);
उपरोक्त कार्यक्रम दिए गए सरणियों की तुलना करेगा और एक आउटपुट का उत्पादन करेगा। सरणियों में समान तत्व होते हैं b क्योंकि हम दोनों सरणियों में समान मान रखते हैं।
इस ब्लॉग पोस्ट में, हम 'जावास्क्रिप्ट में सरणियों की तुलना कैसे करें' सीखा है और सरल उदाहरण कोड सहित ऐसा करने के लिए उपलब्ध तरीकों में से कुछ पर ध्यान दिया है।