JavaScript Data Structures: Hash Table: Setup

Intro 🌐

Last time, we learned how to handle hash collisions.

Today, we'll use all of the stuff we learned so far to setup our Hash Table.


Requirements 💭

We need the following parts to setup our Hash Table:

  • a Hash Table class
  • a container for our data
  • the size of the data
  • a hash function that inputs a key and outputs an array index

Implementation ⛑

// a Hash Table class
class Hashtable {
  constructor() {
    // a container for our data
    this.data = [];

    // the size of the data
    this.size = 0;
  }

  // a hash function that inputs a key and outputs an array index
  hash(key) {
    const chars = key.split("");
    const charCodes = chars.map((char) => char.charCodeAt());
    const charCodeSum = charCodes.reduce((acc, cur) => acc + cur);
    return charCodeSum;
  }
}

If you are not familiar with the hash function, re-read this post.


Result

// create a new hash table
const newHashtable = new Hashtable();

// hash table should have no data and size 0
console.log(newHashtable);
// Hashtable { data: [], size: 0 } ✅

Next Part ➡️

We'll learn how to add data to our Hash Table.

Need some mentoring? Click here!


Further Reading 📖


Questions ❔

  • How would you implement the Hash Table?
  • How would you build the hash function? Why?