getEntry(key) {
    const index = this.hashFunction(key); // <1>
    this.buckets[index] = this.buckets[index] || new LinkedList(); // <2>
    const bucket = this.buckets[index];

    const entry = bucket.find(({ value: node }) => { // <3>
      if (key === node.key) {
        return node; // stop search
      }
      return undefined; // continue searching
    });

    return { bucket, entry }; // <4>
  }
Find an entry inside a bucket.

The bucket is an array of Linked Lists.
Entries are the nodes in the linked list
 containing key/value objects.

Avg. Runtime: O(1)
 Usually O(1) but if there are many collisions it could be O(n).

@param {any} key
@returns {object} object `{ bucket, entry }` containing the bucket
 and entry (LinkedList's node matching value)