कभी-कभी हमें एक जॉइन फ़ंक्शन का उपयोग करके कंटेनर्स को एक साथ जोड़ने और एक नया कंटेनर प्राप्त करने की आवश्यकता होती है। हम एक स्टैटिक जॉइन मेथड लिखेंगे जो 2 हैश टेबल लेता है और सभी वैल्यूज़ के साथ एक नया हैश टेबल बनाता है। सरलता के लिए, हम दूसरे से वैल्यूज़ को पहले पर ओवरराइड करने देंगे अगर दोनों में कोई की मौजूद हैं।
उदाहरण
static join(table1, table2) {
// जांचें कि दोनों आर्ग्यूमेंट्स HashTables हैं
if(!table1 instanceof HashTable || !table2 instanceof HashTable) {
throw new Error("अवैध आर्ग्यूमेंट्स")
}
let combo = new HashTable();
table1.forEach((k, v) => combo.put(k, v));
table2.forEach((k, v) => combo.put(k, v));
return combo;
}
आप इसका परीक्षण इस तरह कर सकते हैं:
उदाहरण
let ht1 = new HashTable(); ht1.put(10, 94); ht1.put(20, 72); ht1.put(30, 1); let ht2 = new HashTable(); ht2.put(21, 6); ht2.put(15, 21); ht2.put(32, 34); let htCombo = HashTable.join(ht1, ht2) htCombo.display();
उदाहरण
इससे निम्न आउटपुट मिलेगा:
0: 1: 2: 3: 4: { 15: 21 } 5: 6: 7: 8: { 30: 1 } 9: { 20: 72 } 10: { 10: 94 } --> { 21: 6 } --> { 32: 34 }