Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript में Map का उपयोग


JavaScript Map ऑब्जेक्ट

Map की-वैल्यू पेयर्स का कलेक्शन है जो इंसर्शन ऑर्डर याद रखता है और किसी भी टाइप की कीज़ अनुमति देता है (ऑब्जेक्ट्स के विपरीत जो केवल स्ट्रिंग/सिम्बल कीज़ सपोर्ट करते हैं)।

सिंटैक्स

new Map([iterable])

समस्या: प्लेन ऑब्जेक्ट्स की सीमा

ऑब्जेक्ट्स में ऑब्जेक्ट कीज़ toString() होकर "[object Object]" बन जाते हैं।

<script>
  var obj = {};
  var keyA = {};
  var keyB = {num: 3};
  
  obj[keyA] = "a";
  obj[keyB] = "b";
  
  console.log(obj);  // {"[object Object]": "b"} - keyA ओवरराइट हो गया!
</script>

आउटपुट

{"[object Object]":"b"}

समाधान: Map उपयोग करें

<html> <body> <script>
  var keyA = {};
  var keyB = {num: 3};
  
  var map = new Map();
  map.set(keyA, "a");
  map.set(keyB, "b");
  
  // इटरेशन
  for (let [key, value] of map.entries()) {
    document.write(JSON.stringify(key) + value + " ");
  }
</script> </body> </html>

आउटपुट

{}a {"num":3}b

Map के मुख्य मेथड्स

मेथडविवरण
set(key, value)की-वैल्यू सेट करता है, चेनिंग के लिए map लौटाता है
get(key)की से वैल्यू प्राप्त करता है
has(key)की मौजूद है? (बूलियन)
delete(key)की डिलीट करता है (बूलियन)
clear()सभी एलिमेंट्स हटाता है
sizeएलिमेंट्स की संख्या (प्रॉपर्टी)
keys()कीज़ इटरेटर
values()वैल्यूज इटरेटर
entries()[key, value] इटरेटर
forEach()प्रत्येक पेयर पर कॉलबैक

Map vs Object

कब Map उपयोग करें?

  • कीज़ ऑब्जेक्ट्स/फंक्शन्स हों
  • फ्रीक्वेंट एड/डिलीट ऑपरेशन्स
  • इंसर्शन ऑर्डर महत्वपूर्ण हो
  • कीज़ की संख्या डायनामिक हो
  1. - JavaScript WeakMap में .clear() मेथड का क्या उपयोग है?

    WeakMap पर clear मेथड WeakMap ऑब्जेक्ट से सभी की/वैल्यू पेयर्स को हटा देता है। इस मेथड को स्पेक से हटा दिया गया है और WeakMap ऑब्जेक्ट को क्लियर मेथड के लिए अतिरिक्त सपोर्ट के साथ लपेटकर वापस जोड़ा जा सकता है। उदाहरण class ClearableWeakMap { constructor(init) { this._wm = new WeakMap(init) } clear(

  1. - जावास्क्रिप्ट में Map ऑब्जेक्ट का उपयोग क्या है?

    MDN डॉक्स के अनुसार, Map ऑब्जेक्ट की-वैल्यू पेयर्स रखता है और कीज के मूल इंसर्शन ऑर्डर को याद रखता है। कोई भी मान (ऑब्जेक्ट्स और प्रिमिटिव दोनों) का उपयोग की या वैल्यू के रूप में किया जा सकता है। यहां ध्यान देने वाली महत्वपूर्ण बात यह है कि ऑब्जेक्ट्स को भी मैप्स में कीज के रूप में उपयोग किया जा स

  1. - जावास्क्रिप्ट में Sentry का उपयोग क्या है?

    Sentry एक पूर्ण जावास्क्रिप्ट डीबगिंग और मॉनिटरिंग टूल पैकेज है जो आपको अपने प्रोडक्शन कोड को ट्रैक करने की अनुमति देता है। Sentry की कुछ विशेषताएं: बग्स को रीक्रिएट और फिक्स करने के लिए एनवायरनमेंट और उपयोग डिटेल्स रिकॉर्ड करें एरर और स्टैक ट्रेस देखें जो पहले केवल यूजर के डीबग कंसोल में दिखत

© कॉपीराइट https://in.wsxdn.com सर्वाधिकार सुरक्षित
विशेषताMapObject
की टाइप्सकोई भी (ऑब्जेक्ट, फंक्शन, प्रिमिटिव)स्ट्रिंग/सिम्बल केवल
ऑर्डरइंसर्शन ऑर्डर गारंटीडES2015+ में गारंटीड लेकिन ऐतिहासिक नहीं
साइज.size प्रॉपर्टीमैन्युअल गिनती
इटरेशनसीधे इटरेबलObject.keys() आदि चाहिए
डिफ़ॉल्ट कीज़कोई नहींप्रोटोटाइप से इनहेरिटेड
परफॉरमेंसबार-बार एड/डिलीट में तेज़स्थैतिक डेटा के लिए तेज़