when get a key and it is not there, I would return undefined or an error. -1 could also be the value. It reminds me to the time when we needed if (array.indexOf(needle)===-1);{...} and today we have array.includes.
It is very interesting how you are using the iterator from cache.keys().
also, it would be interesting to add a time-to-life, but that can be a good homework 😊
Full-Stack Software Engineer; using a background in Acting and Voice-Over to pursue a lifelong love of software and technology from an arts and humanities perspective.
Thanks for your feedback Tobias! I was wondering what the best return value would be for when a key wasn't found, you're definitely right about "undefined" or throwing an error being better than returning a string. I'll edit that part to make it a bit more clear.
Also a great suggestion to add a timed-life option, I'll start thinking about how to implement that!
Full-Stack Software Engineer; using a background in Acting and Voice-Over to pursue a lifelong love of software and technology from an arts and humanities perspective.
You're very welcome! Thanks so much for reading. I only recently started learning about Map and Set objects myself, and about how they differ from standard JavaScript objects. They're super useful for certain situations like this.
when get a key and it is not there, I would return undefined or an error.
-1could also be the value. It reminds me to the time when we neededif (array.indexOf(needle)===-1);{...}and today we havearray.includes.It is very interesting how you are using the
iteratorfromcache.keys().also, it would be interesting to add a time-to-life, but that can be a good homework 😊
Thanks for your feedback Tobias! I was wondering what the best return value would be for when a key wasn't found, you're definitely right about "undefined" or throwing an error being better than returning a string. I'll edit that part to make it a bit more clear.
Also a great suggestion to add a timed-life option, I'll start thinking about how to implement that!
Delegate the problem to the caller -- have them provide a value to return in the not-found case.
a small improve to the code, instead of:
Just do:
For me, in general programming, readability is more important than writing short and fancy code.
Is the first time I heard about this data structure, it seems very useful. Thanks for sharing! Awesome post and explanation
Wow, TIL about Map objects. Great article, thanks for sharing!
You're very welcome! Thanks so much for reading. I only recently started learning about Map and Set objects myself, and about how they differ from standard JavaScript objects. They're super useful for certain situations like this.
Thanks for posting this, but it would be great if you can also add the time complexity of get and put methods.
Thank you for posting this. This is really helpful. I liked explanations and clean code.
great post man, very helpful. Since recently heard about this ds, would try to implement in my project.
great post thanks