DEV Community

Hash Map using Javascript

Ashutosh Sarangi on August 26, 2024

Introduction A Hash Map, also known as a Hash Table, is a data structure that implements an associative array abstract data type, a str...
Collapse
 
peeleebee profile image
Phillip Anerine

I think it's interesting to learn how data structures work under the hood, but for practical code, Javascript (and almost all programming languages) already have this natively implemented with objects and Map, and you're not going to beat the performance and security of V8 with js code.

Collapse
 
ashutoshsarangi profile image
Ashutosh Sarangi

True, totally true,
It is just like we are writing sorting algorithm for our own practice. as Javascript's sorting algorithm even better in compare to QuickSort.

So Here I am not challenging to V8, as they are written in c++, 😊.

Hope you understand.

Collapse
 
alex_pacurar_8649cf09c1e9 profile image
Alex Pacurar

I fail to see the reasoning of using HashMaps in js. You obtain the same behaviour of having stored a value in relation to a string key by using the native objet key property implementation available in js.

const put = (map, key, val)=> {
map[key]= val;
};
const get = (map, key)=>{
return map[key];
};

This implementation must be optimal, because it doses not have 'hidden' iterations on the data structure.

But then again, I didn't compare the performances

Collapse
 
ashutoshsarangi profile image
Ashutosh Sarangi

Correct, The only scenarios where we can use Hashmap which I know is Least recently Used cache Algorithm. There we can use.

That combines HashMap + Double Linked list to achieve all the Operations.

But for simple use cases we can use simple JSON objects.

I hope this helps.

Collapse
 
syeo66 profile image
Red Ochsenbein (he/him)

And why not use javascripts native Map or even WeakMap for caching stuff?

Thread Thread
 
ashutoshsarangi profile image
Ashutosh Sarangi

True, we can do the same. Sorry I missed those earlier.

Collapse
 
abhinowww profile image
Abhinav Anand

Informative

Collapse
 
ashutoshsarangi profile image
Ashutosh Sarangi

Thank you Abhinav

Collapse
 
hbthepencil profile image
HB_the_Pencil

So, are these just like dictionaries in Python?

Collapse
 
peeleebee profile image
Phillip Anerine

Dictionaries are a native implementation of hash maps, and Javascript objects are too, so yes

Collapse
 
hbthepencil profile image
HB_the_Pencil

Oh, I see. Thank you!