使用 JavaScript 创建哈希表


让我们设置一个简单类,我们将在其中定义所有这些方法。我们将创建一个容器对象来存储哈希表,并创建一个显示函数来显示表。请注意,对于冲突解决,我们将使用链接。

显示函数采用表中的每个条目(哈希值),并打印与之相关的所有对。

示例

我们还将在原型上创建一个新类以存储键值对。

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;
      }
   }
}

我们在 display 方法中使用了一些高级功能,例如解构。这有助于避免样板代码。

更新于:15-6 月 - 2020

336 浏览次数

开启您的职业生涯

通过完成课程获得认证

开始
广告