从Javascript哈希表中删除元素

要删除元素,我们只需要找到它们并使用简单的拼接函数调用将它们删除即可,该调用从数组中删除到位的元素。

让我们看看相同的实现- 

示例

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,因为已成功找到并删除了它。下次,由于不存在,因此remove函数返回false。