HashTable
It is a way to order data in memory using the hash function and key.
Hash(x)  is a hash function, x is a key. P(x)  is a probe function to fix when same index found  used only in Open Addressing.
Same key fix options

Seperate Chaining Using one of data structure to add more elements in same key  here we will use linked list.

Open Addressing [NOT PROVIDED IN THE SOLUTION]
Open addressing searches for free index in array and fill it. There are 3 options available here.
a. Linear probing for ex: ax + b (a & b are constants)
b. Quadratic probing for ex: ax^{2} + bx + c (a, b, c are constants)
c. Double hashing for ex: h1(x) + h2(y) (h1 & h2 are hashing on key and result respectively)
Ways to eliminate cycles.
Maintain Greatest Common Denominator(N, a) = 1 where N  total elements, a  constant in h(x) = ax and Prime Numbers.
Load Factor = a / N when load factor reaches its limit, hastable needs to be resized to next set of prime numbers and values should get refilled to maintain order.
Installation
npm i @sivarajans/hashtable
Note  only seperate chaining available in this module