Hash table implementation.
yarn add @klippersubs/hashtable
import HashTable, { hashString } from '@klippersubs/hashtable';
const ht = new HashTable(hashString);
ht.set('Alice', '+7 987 654‑32‑10');
ht.set('Bob', '+81 987 654‑32‑10');
ht.set('Alice', '+81 012 345‑67‑89');
ht.delete('Bob');
console.log(ht.get('Alice'));
// → '+81 012 345‑67‑89'
console.log(ht.get('Bob'));
// → undefined
console.log(ht.has('Bob'));
// → false
import { StringTable } from '@klippersubs/hashtable';
const st = new StringTable();
st.set('Alice', '+7 987 654‑32‑10');
st.set('Bob', '+81 987 654‑32‑10');
st.set('Alice', '+81 012 345‑67‑89');
st.delete('Bob');
console.log(st.get('Alice'));
// → '+81 012 345‑67‑89'
console.log(st.get('Bob'));
// → undefined
console.log(st.has('Bob'));
// → false
Callback type for calculating a hash of key.
Generic params:
Key
— key type.
Params:
key: Key
— a key to calculate hash.capacity: number
— hash table capacity.
Return value:
number
— hash.
Calculates a hash of string key.
Params:
key: string
— a key to calculate hash.capacity: number
— hash table capacity.
Return value:
number
— hash.
Hash table class.
Generic params:
Key
— key type.Value
— value type.
Params:
hash: Hash<Key>
— hash function.capacity: number = 8
— capacity of the hash table.
Sets key–value pair.
Params:
key: Key
.value: Value
.
Return value:
this
.
Returns value of a key–value pair.
Params:
key: Key
.
Return value:
Value
.
Checks if key—value pair exists.
Params:
key: Key
.
Return value:
boolean
.
Deletes key—value pair.
Params:
key: Key
.
Return value:
this
.
Specialized hash table with string keys.
Generic params:
Value
— value type.
Params:
capacity: number = 8
— capacity of the hash table.
MIT