आइए हम एक साधारण वर्ग की स्थापना करें जिसका उपयोग हम इन सभी विधियों को परिभाषित करने के लिए करेंगे। हम हैश टेबल को स्टोर करने के लिए एक कंटेनर ऑब्जेक्ट बनाएंगे और टेबल को डिस्प्ले करने के लिए एक डिस्प्ले फंक्शन बनाएंगे। ध्यान दें कि टकराव के समाधान के लिए, हम चेनिंग का उपयोग करेंगे।
डिस्प्ले फ़ंक्शन तालिका में प्रत्येक प्रविष्टि (हैशेड मान) लेता है और इससे जुड़े सभी जोड़ों को प्रिंट करता है।
उदाहरण
हम की-वैल्यू पेयर को स्टोर करने के लिए प्रोटोटाइप पर एक नई क्लास भी बनाएंगे।
class HashTable { constructor() { this.container = []; // Populate the container with empty arrays // which can be used to add more elements in // cases of collisions for(let i=0; i < 11; i ++ ) { this.container.push([]); } display() { this.container.forEach((value, index) => { let chain = value .map(({ key, value }) => `{ ${key}: ${value} }`) .join(" --> "); console.log(`${index}: ${chain}`); }); } hash(key) { return key % 11; } } HashTable.prototype.KVPair = class { constructor(key, value) { this.key = key; this.value = value; } } }
हम कुछ उन्नत सुविधाओं का उपयोग कर रहे हैं जैसे प्रदर्शन पद्धति में विनाश करना। यह बॉयलरप्लेट कोड से बचने में मदद करता है।