The remove method

Removing a value from the HashTableSeparateChaining instance is a little bit different from the remove method we implemented earlier in this chapter. Now that we are using LinkedList, we need to remove the element from LinkedList. Let's take a look at the remove method implementation:

remove(key) {  const position = this.hashCode(key);  const linkedList = this.table[position];  if (linkedList != null && !linkedList.isEmpty()) {    let current = linkedList.getHead();    while (current != null) {      if (current.element.key === key) { // {1}        linkedList.remove(current.element); // {2}        if (linkedList.isEmpty()) { // {3}          delete this.table[position]; // {4}        }        return true; // {5}      }      current = current.next; // {6}    }  }  return false; // {7}}

Get Learning JavaScript Data Structures and Algorithms - Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.