एलिमेंट्स को हटाने के लिए, हमें बस उन्हें ढूंढना होगा और एक साधारण स्प्लिस फ़ंक्शन कॉल का उपयोग करके उन्हें हटाना होगा जो ऐरे से एलिमेंट्स को उनकी जगह पर ही हटा देता है।
आइए इसके कार्यान्वयन को देखते हैं:
उदाहरण
remove(key) {
let hashCode = this.hash(key);
for (let i = 0; i < this.container[hashCode].length; i++) {
// चेन में एलिमेंट ढूंढें
if (this.container[hashCode][i].key === key) {
this.container[hashCode].splice(i, 1);
return true;
}
}
return false;
}
आप इसका परीक्षण इस तरह कर सकते हैं:
उदाहरण
let ht = new HashTable(); ht.put(10, 94); ht.put(20, 72); ht.put(30, 1); ht.put(21, 6); ht.put(15, 21); ht.put(32, 34); console.log(ht.get(20)); console.log(ht.remove(20)); console.log(ht.get(20)); console.log(ht.remove(20));
आउटपुट
इससे निम्न आउटपुट मिलेगा:
{ key: 20, value: 72 } true undefined false
यह पहली बार true लौटाता है क्योंकि यह मिल गया था और सफलतापूर्वक हटा दिया गया था। अगली बार, चूंकि यह मौजूद नहीं था, रिमूव फ़ंक्शन false लौटाता है।