जावास्क्रिप्ट मैप एक ऐसा संग्रह है जो अपने प्रत्येक तत्व को की-वैल्यू पेयर के रूप में संग्रहीत करता है। इस डेटा प्रकार को एक सहयोगी सरणी या एक शब्दकोश के रूप में भी जाना जाता है।

आप किसी भी डेटा प्रकार (आदिम और ऑब्जेक्ट) को कुंजी या मान के रूप में उपयोग कर सकते हैं। मानचित्र ऑब्जेक्ट सम्मिलन के मूल क्रम को याद रखता है, हालांकि आप आमतौर पर मूल्यों को उनकी कुंजी द्वारा एक्सेस करेंगे।

इस लेख में, आप उन दस जावास्क्रिप्ट मानचित्र विधियों के बारे में जानेंगे जिन्हें आपको आज मास्टर करना चाहिए।

1. जावास्क्रिप्ट में एक नया नक्शा कैसे बनाएं

आप का उपयोग करके एक नया मानचित्र ऑब्जेक्ट बना सकते हैं नक्शा() निर्माता। यह कंस्ट्रक्टर एक पैरामीटर को स्वीकार करता है: एक चलने योग्य वस्तु जिसका तत्व कुंजी-मूल्य जोड़े हैं।

चलो mapObj = नया नक्शा ([
[1966, 'बैटमैन: द मूवी'],
[1989, 'बैटमैन'],
[1992, 'बैटमैन रिटर्न्स'],
[1995, 'बैटमैन फॉरएवर'],
[2005, 'बैटमैन बिगिन्स'],
[2008, 'द डार्क नाइट'],
[2012, 'द डार्क नाइट राइजेज']
]);
कंसोल.लॉग (mapObj);

आउटपुट:

नक्शा (7) {
1966 => 'बैटमैन: द मूवी',
1989 => 'बैटमैन',
1992 => 'बैटमैन रिटर्न्स',
instagram viewer

1995 => 'बैटमैन फॉरएवर',
2005 => 'बैटमैन बिगिन्स',
2008 => 'द डार्क नाइट',
2012 => 'द डार्क नाइट राइजेज'
}

यदि आप पैरामीटर की आपूर्ति नहीं करते हैं, तो जावास्क्रिप्ट एक नया खाली नक्शा बनाएगा।

चलो mapObj = नया नक्शा ();
कंसोल.लॉग (mapObj);

आउटपुट:

नक्शा (0) {}

यदि आप डुप्लिकेट कुंजियों के साथ मानचित्र बनाने का प्रयास करते हैं, तो प्रत्येक दोहराई गई कुंजी नए मान के साथ पिछले मान को अधिलेखित कर देगी।

चलो mapObj = नया नक्शा ([
['की1', 'वैल्यू1'],
['की2', 'वैल्यू2'],
['की2', 'न्यूवैल्यू2']
]);
कंसोल.लॉग (mapObj);

आउटपुट:

नक्शा (2) {
'की1' => 'वैल्यू1',
'key2' => 'newValue2'
}

यहाँ, के विरुद्ध संग्रहीत मान कुंजी 2 कुंजी है newValue2, पहले नहीं मान 2.

आप एक मैप ऑब्जेक्ट भी बना सकते हैं जिसमें मिश्रित डेटा प्रकारों का उपयोग करके की-वैल्यू पेयर हो।

चलो mapObj = नया नक्शा ([
["स्ट्रिंग1", 1],
[2, "स्ट्रिंग2"],
["स्ट्रिंग3", 433.234],
[23.56, 45]
]);
कंसोल.लॉग (mapObj);

आउटपुट:

नक्शा (4) {
'स्ट्रिंग1' => 1,
2 => 'स्ट्रिंग2',
'स्ट्रिंग3' => 433.234,
23.56 => 45
}

2. मानचित्र वस्तु में नए तत्व जोड़ें

आप मानचित्र ऑब्जेक्ट में एक नया तत्व जोड़ सकते हैं सेट() तरीका। यह विधि एक कुंजी और एक मान को स्वीकार करती है, फिर मैप ऑब्जेक्ट में एक नया तत्व जोड़ती है। विधि तब नई मानचित्र वस्तु को अतिरिक्त मूल्य के साथ लौटाती है। यदि मानचित्र में कुंजी पहले से मौजूद है, तो नया मान मौजूदा मान को बदल देगा।

चलो mapObj = नया नक्शा ();
mapObj.set (1966, 'बैटमैन: द मूवी');
mapObj.set (1989, 'बैटमैन');
mapObj.set (1992, 'बैटमैन रिटर्न्स');
mapObj.set (1995, 'बैटमैन फॉरएवर');
कंसोल.लॉग (mapObj);

आउटपुट:

नक्शा (4) {
1966 => 'बैटमैन: द मूवी',
1989 => 'बैटमैन',
1992 => 'बैटमैन रिटर्न्स',
1995 => 'बैटमैन फॉरएवर'
}

आप चर या स्थिरांक का उपयोग कुंजी या मान के रूप में भी कर सकते हैं:

स्थिरांक वर्ष1 = 1966;
const movieName1 = 'बैटमैन: द मूवी';
मान लीजिए वर्ष2 = 1989;
var movieName2 = 'बैटमैन';
चलो mapObj = नया नक्शा ();
mapObj.set (वर्ष1, चलचित्रनाम1);
mapObj.set (वर्ष 2, मूवीनाम2);
कंसोल.लॉग (mapObj);

आउटपुट:

नक्शा (2) {
1966 => 'बैटमैन: द मूवी',
1989 => 'बैटमैन'
}

NS सेट() विधि जंजीर का समर्थन करता है।

चलो mapObj = नया नक्शा ();
mapObj.set (1966, 'बैटमैन: द मूवी')
.सेट (1989, 'बैटमैन')
.सेट (1992, 'बैटमैन रिटर्न्स')
.सेट (1995, 'बैटमैन फॉरएवर');
कंसोल.लॉग (mapObj);

आउटपुट:

नक्शा (4) {
1966 => 'बैटमैन: द मूवी',
1989 => 'बैटमैन',
1992 => 'बैटमैन रिटर्न्स',
1995 => 'बैटमैन फॉरएवर'
}

3. मानचित्र वस्तु से सभी तत्वों को हटा दें

आप मानचित्र ऑब्जेक्ट से सभी तत्वों को हटा सकते हैं स्पष्ट() तरीका। यह विधि हमेशा वापस आती है अपरिभाषित.

चलो mapObj = नया नक्शा ([
[1966, 'बैटमैन: द मूवी'],
[1989, 'बैटमैन']
]);
कंसोल.लॉग ("मैप ऑब्जेक्ट का आकार:" + mapObj.size);
कंसोल.लॉग (mapObj);
mapObj.clear ();
कंसोल.लॉग ("तत्वों को साफ़ करने के बाद मैप ऑब्जेक्ट का आकार:" + mapObj.size);
कंसोल.लॉग (mapObj);

आउटपुट:

मानचित्र वस्तु का आकार: 2
नक्शा (2) {1966 => 'बैटमैन: द मूवी', 1989 => 'बैटमैन'}
तत्वों को साफ़ करने के बाद मानचित्र वस्तु का आकार: 0
नक्शा (0) {}

4. मानचित्र से एक विशिष्ट तत्व हटाएं

आप मानचित्र ऑब्जेक्ट से किसी विशिष्ट तत्व को हटा सकते हैं हटाएं () तरीका। यह विधि मानचित्र से हटाए जाने वाले तत्व की कुंजी को स्वीकार करती है। यदि कुंजी मौजूद है, तो विधि वापस आती है सच. अन्यथा, यह लौट आता है झूठा.

चलो mapObj = नया नक्शा ([
[1966, 'बैटमैन: द मूवी'],
[1989, 'बैटमैन']
]);
कंसोल.लॉग ("प्रारंभिक मानचित्र:");
कंसोल.लॉग (mapObj);
mapObj.delete (1966);
कंसोल.लॉग ("1966 के रूप में कुंजी वाले तत्व को हटाने के बाद मानचित्र");
कंसोल.लॉग (mapObj);

आउटपुट:

प्रारंभिक नक्शा:
नक्शा (2) {1966 => 'बैटमैन: द मूवी', 1989 => 'बैटमैन'}
1966 के रूप में कुंजी वाले तत्व को हटाने के बाद मानचित्र
नक्शा (1) { 1989 => 'बैटमैन'}

5. जांचें कि क्या कोई तत्व मानचित्र में मौजूद है

आप जांच सकते हैं कि मानचित्र ऑब्जेक्ट में कोई तत्व मौजूद है या नहीं है() तरीका। यह विधि मैप ऑब्जेक्ट में उपस्थिति के परीक्षण के लिए एक पैरामीटर के रूप में तत्व की कुंजी को स्वीकार करती है। यह विधि वापस आती है सच यदि कुंजी मौजूद है। अन्यथा, यह लौट आता है झूठा.

चलो mapObj = नया नक्शा ([
[1966, 'बैटमैन: द मूवी'],
[1989, 'बैटमैन'],
[1992, 'बैटमैन रिटर्न्स'],
[1995, 'बैटमैन फॉरएवर'],
[2005, 'बैटमैन बिगिन्स'],
[2008, 'द डार्क नाइट'],
[2012, 'द डार्क नाइट राइजेज']
]);
कंसोल.लॉग (mapObj.has (1966));
कंसोल.लॉग (mapObj.has (1977));

आउटपुट:

सच
झूठा

कुंजी के साथ एक तत्व 1966 मानचित्र वस्तु में मौजूद है, इसलिए विधि वापस आ गई सच. लेकिन, चूंकि कुंजी के साथ कोई तत्व नहीं है 1977 मानचित्र वस्तु में, विधि वापस आ गई झूठा दूसरी कॉल से।

सम्बंधित: जावास्क्रिप्ट क्या है और यह कैसे काम करता है?

6. एक विशिष्ट कुंजी के लिए मूल्य तक पहुंचना

NS पाना() विधि मानचित्र वस्तु से एक विशिष्ट तत्व लौटाती है। यह विधि तत्व की कुंजी को एक पैरामीटर के रूप में स्वीकार करती है। यदि मानचित्र ऑब्जेक्ट में कुंजी मौजूद है, तो विधि तत्व का मान लौटाती है। अन्यथा, यह लौट आता है अपरिभाषित.

चलो mapObj = नया नक्शा ([
[1966, 'बैटमैन: द मूवी'],
[1989, 'बैटमैन'],
[1992, 'बैटमैन रिटर्न्स'],
[1995, 'बैटमैन फॉरएवर'],
[2005, 'बैटमैन बिगिन्स'],
[2008, 'द डार्क नाइट'],
[2012, 'द डार्क नाइट राइजेज']
]);
कंसोल.लॉग (mapObj.get (1966));
कंसोल.लॉग (mapObj.get (1988));

आउटपुट:

बैटमैन: द मूवी
अपरिभाषित

कुंजी के साथ एक तत्व 1966 मानचित्र ऑब्जेक्ट में मौजूद है, इसलिए विधि ने तत्व का मान वापस कर दिया। कुंजी के साथ कोई तत्व नहीं है 1988 मानचित्र वस्तु में, इसलिए विधि वापस आ गई अपरिभाषित.

7. एक इटरेटर के माध्यम से मानचित्र की प्रविष्टियों तक पहुंचें

अधिकारी के अनुसार एमडीएन वेब डॉक्स:

प्रविष्टियां () विधि एक नया इटरेटर ऑब्जेक्ट देता है जिसमें सम्मिलन क्रम में मानचित्र ऑब्जेक्ट में प्रत्येक तत्व के लिए [कुंजी, मान] जोड़े होते हैं। इस विशेष मामले में, यह इटरेटर ऑब्जेक्ट भी चलने योग्य है, इसलिए फॉर-ऑफ़ लूप का उपयोग किया जा सकता है। जब प्रोटोकॉल [Symbol.iterator] का उपयोग किया जाता है, तो यह एक फ़ंक्शन देता है, जब इसे लागू किया जाता है, तो यह पुनरावर्तक स्वयं लौटाता है।

आप इस पुनरावर्तक का उपयोग करके मानचित्र के प्रत्येक तत्व तक पहुँच सकते हैं और a के लिए बयान:

चलो mapObj = नया नक्शा ([
[1966, 'बैटमैन: द मूवी'],
[1989, 'बैटमैन'],
[1992, 'बैटमैन रिटर्न्स'],
[1995, 'बैटमैन फॉरएवर'],
[2005, 'बैटमैन बिगिन्स'],
[2008, 'द डार्क नाइट'],
[2012, 'द डार्क नाइट राइजेज']
]);
के लिए (mapObj.entries की प्रविष्टि दें ()) {
कंसोल.लॉग (प्रविष्टि);
}

आउटपुट:

[1966, 'बैटमैन: द मूवी']
[1989, 'बैटमैन']
[1992, 'बैटमैन रिटर्न्स']
[1995, 'बैटमैन फॉरएवर']
[2005, 'बैटमैन बिगिन्स']
[2008, 'द डार्क नाइट']
[2012, 'द डार्क नाइट राइजेज']

या आप प्रत्येक कुंजी और मूल्य तक पहुँचने के लिए ES6 विनाशकारी असाइनमेंट सुविधा का उपयोग कर सकते हैं:

चलो mapObj = नया नक्शा ([
[1966, 'बैटमैन: द मूवी'],
[1989, 'बैटमैन'],
[1992, 'बैटमैन रिटर्न्स'],
[1995, 'बैटमैन फॉरएवर'],
[2005, 'बैटमैन बिगिन्स'],
[2008, 'द डार्क नाइट'],
[2012, 'द डार्क नाइट राइजेज']
]);
के लिए (चलो [कुंजी, मान] mapObj.entries ()) {
कंसोल.लॉग ("कुंजी:" + कुंजी + "मान:" + मान);
}

आउटपुट:

कुंजी: 1966 मूल्य: बैटमैन: द मूवी
कुंजी: 1989 मूल्य: बैटमैन
कुंजी: 1992 मूल्य: बैटमैन रिटर्न्स
कुंजी: 1995 मूल्य: बैटमैन फॉरएवर
कुंजी: 2005 मूल्य: बैटमैन शुरू होता है
कुंजी: 2008 मूल्य: द डार्क नाइट
कुंजी: 2012 मूल्य: डार्क नाइट उगता है

8. मानचित्र के मूल्यों पर पुनरावृति कैसे करें

NS मान () विधि एक देता है इटरेटर ऑब्जेक्ट जिसमें मानचित्र में सभी मान शामिल हैं, और यह सम्मिलन क्रम में करता है।

चलो mapObj = नया नक्शा ([
[1966, 'बैटमैन: द मूवी'],
[1989, 'बैटमैन'],
[1992, 'बैटमैन रिटर्न्स']
]);
const iteratorObj = mapObj.values ​​();
के लिए (iteratorObj का मान दें) {
कंसोल.लॉग (मान);
}

आउटपुट:

बैटमैन: द मूवी
बैटमैन
बैटमैन रिटर्न्स

9. मानचित्र की कुंजियों पर पुनरावृति

NS चांबियाँ() विधि एक देता है इटरेटर ऑब्जेक्ट जिसमें मानचित्र में सभी कुंजियां होती हैं, और यह सम्मिलन क्रम में ऐसा करती है।

चलो mapObj = नया नक्शा ([
[1966, 'बैटमैन: द मूवी'],
[1989, 'बैटमैन'],
[1992, 'बैटमैन रिटर्न्स']
]);
const iteratorObj = mapObj.keys ();
के लिए (iteratorObj की कुंजी दें) {
कंसोल.लॉग (कुंजी);
}

आउटपुट:

1966
1989
1992

सम्बंधित: जावास्क्रिप्ट एरो फंक्शन आपको एक बेहतर डेवलपर बना सकते हैं

10. कॉलबैक का उपयोग करके मानचित्र में तत्वों पर पुनरावृति करें

NS प्रत्येक के लिए() विधि मैप ऑब्जेक्ट के प्रत्येक तत्व के लिए कॉलबैक फ़ंक्शन को कॉल करती है। कॉलबैक फ़ंक्शन दो पैरामीटर लेता है: कुंजी और मान।

फ़ंक्शन प्रिंटकीवैल्यू (कुंजी, मान) {
कंसोल.लॉग ("कुंजी:" + कुंजी + "मान:" + मान);
}
चलो mapObj = नया नक्शा ([
[1966, 'बैटमैन: द मूवी'],
[1989, 'बैटमैन'],
[1992, 'बैटमैन रिटर्न्स']
]);
mapObj.forEach (प्रिंटकीवैल्यू);

आउटपुट:

कुंजी: बैटमैन: द मूवी वैल्यू: 1966
कुंजी: बैटमैन मूल्य: 1989
कुंजी: बैटमैन रिटर्न वैल्यू: 1992

अब आप जावास्क्रिप्ट में मानचित्रों के बारे में जानते हैं

अब आपके पास जावास्क्रिप्ट में मानचित्र की अवधारणा में महारत हासिल करने के लिए पर्याप्त ज्ञान है। कई प्रोग्रामिंग कार्यों में मानचित्र डेटा संरचना का व्यापक रूप से उपयोग किया जाता है। एक बार जब आप इसमें महारत हासिल कर लेते हैं, तो आप अन्य मूल जावास्क्रिप्ट ऑब्जेक्ट्स जैसे सेट, एरेज़, और इसी तरह आगे बढ़ सकते हैं।

15 जावास्क्रिप्ट ऐरे के तरीके जो आपको आज मास्टर करने चाहिए

जावास्क्रिप्ट सरणियों को समझना चाहते हैं, लेकिन उनके साथ पकड़ में नहीं आ सकते हैं? मार्गदर्शन के लिए हमारे जावास्क्रिप्ट सरणी उदाहरण देखें।

आगे पढ़िए

साझा करनाकलरवईमेल
संबंधित विषय
  • प्रोग्रामिंग
  • प्रोग्रामिंग
  • जावास्क्रिप्ट
लेखक के बारे में
युवराज चंद्र (71 लेख प्रकाशित)

युवराज दिल्ली विश्वविद्यालय, भारत में कंप्यूटर विज्ञान के स्नातक छात्र हैं। उन्हें फुल स्टैक वेब डेवलपमेंट का शौक है। जब वह नहीं लिख रहा होता है, तो वह विभिन्न तकनीकों की गहराई की खोज कर रहा होता है।

युवराज चंद्रा की अन्य फ़िल्में-टीवी शो

हमारे न्यूज़लेटर की सदस्यता लें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें